With PowerCLI you can invoke ESXCLI commands within your PowerShell session and manage your ESXi hosts.

You can use PowerCLI to access ESXCLI in the following ways:

By Using the Get-ESXCli cmdlet

Use the Get-ESXCli cmdlet to invoke ESXCLI commands within your PowerShell console.

For example:
$vmHost = Get-VMHost <vmHostIp>
$esxcli = Get-EsxCli -VMHost $vmHost -V2
$esxcli.storage.nmp.device.list.Invoke()

For more information, see Get-EsxCli in the PowerCLI Reference.

By Using .NET Methods

You can use .NET methods to create managed objects that correspond to specific ESXCLI applications. To access the ESXCLI, you can call methods on these managed objects.

Note: To call a method of an ESXCLI object, you must provide values for all parameters. If you want to omit a given parameter, pass $null as its argument.