Tip

VMware command line options to keep in your ESXi toolbox

Even if you've always used the GUI of vSphere Client to get your work done, that doesn't mean it's always the right tool for the job. Save time and effort with VMware scripts.

IT pros are not immune to the saying, "If all you have is a hammer then everything looks like a nail." If you use the vSphere Client daily to manage virtual machines (

    Requires Free Membership to View

VMs) and hosts, that's the tool you'll reach for in any situation. When you need to execute an action across a lot of ESXi hosts or VMs, however, that vSphere Client graphical user interface (GUI) will prove a time-consuming and frustrating tool. Go back to the toolbox and grab the command line interface (CLI).

VMware command line options

CLIs and scripts execute repetitive tasks without a lot of administrator effort. VMware provides a variety of command line tools, so even here you can pick just the right one for the task at hand.

All VMware scripting tools are really wrappers around the vSphere application programming interface (API), a set of Web services provided by vCenter and ESXi servers. The vSphere API is complex and difficult, so these wrappers -- usually called software developer's kits (SDKs) -- let you access the vSphere API from your preferred language. The oldest SDK is Perl, used by vSphere CLI (vCLI) commands to replicate the old ESX Service Console interface. There is also an SDK for Java and a PowerShell snap-in called PowerCLI.

Command line tools are like a chainsaw -- extremely useful, but if you're not careful, they will take your arm off.

VMware pros who spend their days on Windows will gravitate toward PowerCLI as the logical first choice for command line vSphere management. This is a great choice: A very flexible and powerful tool, PowerCLI allows you to work in a command prompt or run scripts. Microsoft created PowerShell to provide system administrators with automation tools, so this isn't just a repurposed developer tool like vBScript. The learning curve is relatively mild, although there are some "aha" concepts that vastly improve your PowerShell productivity. One of PowerCLI's best assets is its strong community, where beginners can learn from the masters and everyone shares solutions. Multiple vendors also embrace PowerShell, so a single script can talk to vSphere, Microsoft Exchange and your storage array.

One use for PowerCLI is report information, particularly in large-scale VMware environments. Reporting on every VM with a CD-ROM drive connected to a physical device or ISO image is a one-line PowerCLI script. The script can even report into an HTML file on a website that's shared with your management. Schedule the script to run regularly and everyone stays informed. Finding the same VM report information with the vSphere Client GUI would take you an hour or more. With the VMware script, execution takes only a few minutes and doesn't require your oversight.

Nonrecurring reports also benefit from a PowerCLI script, such as reports required when scheduling an upgrade to VMXNet3. Reporting every VM with more than two vCPUs or that use the flexible network adapter is much easier with a PowerCLI script than with the vSphere Client GUI. Even if you only need to discover this information once, keep a copy of the command line or script tucked away in case you need a similar report again.

VMware scripts you shouldn't live without

Commit these PowerCLI scripts to memory

Get started with vCLI

Scripts for snapshot consolidation

If you've ever used the vSphere Management Assistant (vMA), then you've used the Perl SDK. All of VMware's vicfg commands are Perl scripts; even esxcli is a Perl script. These commands are often used to do a post-build configuration of new ESXi servers, maybe set up the Pluggable Storage claim rules or tweak advanced settings, such as the scratch and syslog paths. Similar commands aid in fully automated ESXi server builds, bypassing the install wizard with a simple text file.

Another extremely useful VMware command line is ESXi Tech Support mode, the command line on ESXi hosts. Use it to troubleshoot issues on one host; storage and networking problems are sometimes easiest to resolve in Tech Support mode. Use esxtop to get detailed performance information from the host in real time.

Mind your tool set

Command line tools allow you to do bad things just as quickly as good things. A CLI seldom asks, "Are you sure?" I liken command line tools to a chainsaw -- extremely useful, but if you're not careful, they will take your arm off. Consider, for example, a single line of PowerCLI code: Get-VM | stop-VM –confirm:$False. This one line will power off every VM in your whole environment. Do not fear the command line -- just be careful.

While many vSphere administrators will never venture beyond the vSphere Client GUI, there are many tasks that are much better suited to a command line or scripted workflow. Try not to be self-limiting. Using the right tool for the job gets things done right and is far more satisfying.

This was first published in April 2013

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Expert Discussion

What are you using for VMware admin tasks - the vSphere client, CLI/scripts or both?

Alastair Cooke
What's your opinion?
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.