Changing network adapter type in VMWare VsphereTested on VSphere 5.1.
There is no option available in vsphere client to change the current installed network adapter type, You will have to either install a new network adapter or you can change the existing network adapter type through powercli, you can create a script to change adapter type of all the VM in vcenter or on Esxi server, at one shot.
Open powercli from start menu,
Connect to vCenter server (you can connect directly to esxi server as well), by executing below command you will log onto vcenter server (my vcenter IP address is 192.168.33.12, you can use servername or FQDN as well)
Once the command executed it will pop up and ask for credentials, Make sure you have appropriate permissions on vcenter.
Now you are logged into vcenter successfully, you will see something like below, how you are connected to vcentre server.
Find The VM for which you want to change the adapter type. Fire command "get-vm", it query the list of VMs available on vcenter. Here I want to change network adapter type for winxp001.vcloud.lab.
Next command to get details about network adapter type of VM winxp001.vcloud.lab. Here I used get-networkadapter in pipe line to query network adapter details.
Get-VM winxp001.vcloud.lab | get-networkadapter
Now it's time to change network adapter type, below is the link for description about all the available network adapter types.
fire below command, next it will ask for confirmation if you want to continue with changing the adapter type
Note: If you have more than one VMNIC the command will ask if you want to apply to each NIC one by one with YES or NO.
get-vm winxp001.vcloud.lab | Get-NetworkAdapter | set-networkadapter -type vmxnet3
Or to YES TO ALL in first ask to change all NICs type in one shot.
If you check on network adapter under VM settings, you will see the changes.
Here in the above example I changed adapter type for only one VM but if you have multiple servers servers and want to automate changing adapter type using script. Below is the simple script.
Connect to vcenter or esxi host, Create a list of VMs in text file and keep it on reachable location, here I have created list, named the file vmlist.txt and kept it on C drive.
$VMlist = Get-content c:\VMlist.txt
Get-VM $VMlist | Get-NetworkAdapter | set-networkadapter -type vmxnet3 -confirm:$false
Now get-vm will query VM properties and settings from $vmlist which contains text file data, by piping information into get-networkadapter I am querying network adapter properties and settings, and again I am piping the information into "set-networkadapter -type vmxnet3" to change type. In the last option "-confirm:$false" is used to skip confirmation (figure 8) and continue with action.