Here are commands, every vSphere admin should know:
- List of available interfaces and physical network cards (vmkernel + vmnic):
Get-VMHostNetworkAdapter -vmhost hostname
- Adding another interface (vmkernel to vMotion) in ESXi:
New-VMHostNetworkAdapter -VMHost "hostname" -PortGroup "portgroupname" -VirtualSwitch "vDS-NAME" -IP 10.XXX.XXX.XXX -SubnetMask 255.XXX.XXX.XXX -VMotionEnabled:$true
- Removing a specific interface (vmkernel) on ESX:
Get-VMHostNetworkAdapter -vmhost hostname -name vmk0 | Remove-VMHostNetworkAdapter
- To check if IPv6 is enabled:
Get-VMHost hostname| Get-VMHostNetwork | Select VMHost,IPv6Enabled
- To enable IPv6:
Get-VMHostNetwork esxihostname | Set-VMHostNetwork -IPv6Enabled:$true
NOTE: After turning IPv6 on/off. reboot is required
- Listing information about hosts in vCenter (cluster, HW, ESXi version):
Get-VMHost | select parent,name,Manufacturer,Model,ProcessorType,version
- Updating VMware Tools without reboot:
Get-VMGuest -VM $vm | Update-Tools -NoReboot
- Managing host state:
- Removing unnecessary vMotion “netstack” from the host:
$vmhost = Get-VMHost -Name hostname
$esxcli = Get-EsxCli -VMhost $vmhost -V2
$esxcli.network.ip.netstack.list.invoke()
$esxcli.network.ip.netstack.remove.invoke(@{netstack = "vmotion"})
- Turning on and off the VM on a specific host:
$credESX = get-credential root
$esx = Connect-VIserver -Server 10.1.1.111 -Credential $credESX
Start-VM -Server $esx -VM $vm -Confirm
Stop-VM -server $esx -VM $vm -kill
- Managing snapshots:
- Make a simple clone of a specific virtual machine:
New-VM -Name source_machine -VM target_machine -Datastore datastore_name -vmhost hostname -DiskStorageFormat thin
- ESXi configuration backup:
Connect-VIServer -Server $esxihost -user $esxihostuser -password $esxihostpasswd
Get-VMHostFirmware -VMHost $esxihost -BackupConfiguration -DestinationPath D:\
- Enable and disable SSH on all hosts in the cluster:
Get-Cluster CLUSTERNAME | Get-VMHost | Get-VMHostService |Where key -Match tsm-ssh | where Running -Match false | Start-VMHostService -Confirm:$false
Get-Cluster CLUSTERNAME | Get-VMHost | Get-VMHostService |Where key -Match tsm-ssh | where Running -Match true | Stop-VMHostService -Confirm:$false
- How to ensure TLS1.2 is enabled:
- Listing events in vCenter with the word “restarted” in their content. OBJECTIVE: to identify machines that restarted after ESXi failure:
Get-VIEvent -MaxSamples 2000 -Start (Get-Date).AddDays(-1) -Type Warning | Where {$_.FullFormattedMessage -match "restarted"} |select CreatedTime,ObjectName,FullFormattedMessage| sort CreatedTime -Descendin
- Searching for entries in events in vCenter:
foreach ($vmm in get-vm * ) {
$vmm |Get-VIEvent -Start 2020.03.23 -MaxSamples 1000 | ? FullFormattedMessage -Match Ethernet0 | select {$vmm.Name} , CreatedTime,FullFormattedMessage
}
- Lists the VMware Tools installed on the cluster pointing to the name of the VM and the host:
Get-Cluster *cluster_name* | Get-VM | Get-CDDrive | where{$_.IsoPath -match "vmware/isoimages"} | %{$_.parent } | select name,vmhost
- Reconfiguring host for HA:
Please like and share to spread the knowledge in the community.
If you want to chat with me please use Twitter: @AngrySysOps
Join my VMware Knowledge Base Group: https://bit.ly/3w54tbc
Visit my FB page: https://www.facebook.com/AngrySysOps
Subscribe to my channel : https://bit.ly/3vY16CT