VMware vSphere PowerCLI cmdlets are created to automate VMware environments administration and introduce some specifics in addition to the PowerShell concepts.

VMware vSphere PowerCLI 5.0.1 consists of two components that users can install and use according to their needs and environments.

Starting VMware vSphere PowerCLI automatically loads the script configuration file Initialize-PowerCLIEnvironment.ps1.

In PowerCLI, all parameters that take inventory objects, datastores, OSCustomizationSpec objects, and VIServer objects as arguments can be specified by strings and wildcards. This PowerCLI approach is called Object-by-Name (OBN) selection.

By default, PowerCLI cmdlets return an output only after completion of the requested tasks. If you want a cmdlet to return to the command line immediately, without waiting for the tasks to complete, you can specify the RunAsync parameter.

Some PowerCLI features support only Windows 7, Windows Server 2008, Windows XP, Windows Server 2003, and Red Hat Enterprise Linux 5. To add support for other guest operating systems, you can use the scripts that are located in the Script folder of the PowerCLI installation directory or can add your own custom scripts.

By default, PowerCLI cmdlets run on the vSphere servers you are connected to, if no target servers can be determined from the provided parameters.

PowerCLI provides two types of objects for customization specification: persistent and nonpersistent.

The PowerCLI list of cmdlets includes the Get-View and Get-VIObjectByVIView cmdlets, which enable access to PowerCLI views from .NET.

PowerCLI provides you the capability to use ESXCLI through its console.

The Inventory Provider is designed to expose an unfiltered inventory view of the inventory items from a server.

The Datastore Provider is designed to provide access to the contents of one or more datastores.