Update standalone ESXi host with esxcli

There are multiple ways available to patch a VMware Infrastructure. Two of the very common ones are through Update Manager or esxcli.

Update Manager enables centralized, automated patch and version management for VMware vSphere and offers support for VMware ESXi hosts, and virtual machines. Unfortunately it is available only on vCenter deployments and you cannot use it on standalone hosts.

When you need to update a standalone host you can follow the procedure described below.

In my case I wanted to patch an ESXi host from 6.7 Build 8941472 to 6.7 Build 9484548.

First you download the patch definitions from VMware site. In my case I needed to download the below bundle package:

Then, the package should be uploaded to the local or any available datastore so that host can access it. Also ssh should be enabled so that one can connect on the host with root account.

file upload can be performed from the available esx host GUI

change directory and find the location of the file

Lastly execute the below command, and reboot the host

The version available after the reboot, should be the new one

Map Windows OS disks with VMware hard disks

It is a bit tricky to map Windows OS disks with VMware disks especially when two or more disks have the same size, because vmware does not provide the disk name, but only scsi identifiers. As a result if I had to extend a particular disk, I must find the right one.

From VMware hard disk Advanced Settings, you can find a SCSI code for a particular disk 1:2 that vmware names hard disk 2. Note that hard disk 2 could ne different from Hard disk 2 that the Windows OS would name. You could determine that from the capacity of the Disk if they were different, but it could be also different even when the capacity (GB) were the same.


So how could you do the mapping?

First of all you should run the following powershell command. It would give you scsi identifiers for all Windows OS disks.


Windows OS start numbering controllers from a random positive number and adds one for each subsequent controllers. As a result if the numbering starts from 3, then 3 scsiport would match to 0 scsiport in VMware (because numbering starts from 0). In the particular example if you would see 4:2 from the powershell command, it would be the disk that you can see in the picture above.


Get old events from Vcenter using powerCLI

If there is a reason that you want to retrieve older events from Vcenter than the 1000 that are available, you can use powerCLI in order to get specific date ranges.

After you login in the vCenter using

you can use Get-VIEvent with Start or Finish attributes. Be careful also to use Maxsamples attribute in order to get more than 10 that are returned by default.

For example if I wanted all events that have been captured the weekend I could use something like:

P.S Date is a DateTime and should be used as above