PowerCLI and PowerShell Workflows

In PowerShell v3 the Workflow feature was introduced. But until now there haven’t been too many examples available on how to use PowerCLI in PowerShell Workflows. Today I was triggered by a thread from Mark in the PowerCLI VMTN community, to revise some of my Workflow code snippets I had laying around.


And if you didn’t have enough arguments yet to upgrade to PowerCLI v6, which brings MODULES, the Workflow feature will give you another one !

Continue reading PowerCLI and PowerShell Workflows

DRSRule – a DRS rules and groups module

One of the nice vSphere features is the ability to define DRS rules.

DRSRule-introThe feature allows a vSphere administrator to control the placement of virtual machines in a vSphere cluster. There are the VM to VM affinity and anti-affinity rules, and the newer VM to VMHost rules. With the VM to VMHost rules, vSphere introduced the concept of VM and VMHost groups, and the ability to have rules that are a requirement (‘shall’) or a preference (‘should’).

In a recent VMTN PowerCLI community thread a PowerCLI user had a query about exporting and importing DRS rules and groups. At that point Matt Boren and myself developed the idea to provide a PowerShell module. The PowerShell module, which we named DRSRule, provides all the functions we deemed useful for working with DRS rules and groups. And yes, the module includes an export and an import cmdlet !

Continue reading DRSRule – a DRS rules and groups module

PowerCLI and the Linux Shellshock vulnerability

With all the fuss going round about the latest Linux vulnerability you will probably get a request from your local Security Officer to produce a report which of your Linux systems are vulnerable to the Shellshock bug. And, seen there are already several known exploits, who can blame him for asking such a report.


Since a lot of these Linux boxes are running under vSphere, we can use PowerCLI to produce such a report. The Invoke-VMScript cmdlet is the vehicle I use in the following function. With the Invoke-VMScript cmdlet it is very easy to execute, what is considered the best test to check for the vulnerability.

Update2 September 29 2014: the 2nd test from the Shellshocker gives a syntax error. The test is replaced by the one found on Michael Boelen‘s website in How to protect yourself against Shellshock Bash vulnerability. Big thanks to Wil van Antwerpen for the pointer.

Update1 September 29 2014: the function was updated to include tests for most of the known Shellshock vulnerabilities. The tests were collected from the Shellshocker site.
Continue reading PowerCLI and the Linux Shellshock vulnerability

Stats Toolbox – A vSphere Server Performance Counter tool

Finding out which performance counters are available on your vSphere server over which time interval, is not always an easy task. There is of course the Performance Manager entry in the VMware vSphere API Reference, but that is not always the easiest task. Let alone finding out what a specific counter actually represents.

For that reason I decided to create a tool, which I called the Stats Toolbox, that would query the vSphere server to get the actual list of counters it collects for each interval. In the tool I added some extra features that would make working with the performance counters easier.

Stats-ToolboxDuring our VMworld 2014 US breakout session I demonstrated the features of the Stats Toolbox, and I received quite some positive feedback.

Continue reading Stats Toolbox – A vSphere Server Performance Counter tool

Tintri Automation Toolkit – Part 2 – VM Protection and Reporting

After Part 1 – The Basics in this series, I will show in Part 2 how you can set up Tintri’s VM Protection through Replication. And to conclude this post I will show some Reporting that you can do with the Tintri Automation Toolkit.


Continue reading Tintri Automation Toolkit – Part 2 – VM Protection and Reporting

Tintri Automation Toolkit – Part 1 – The Basics

There are numerous companies that recognized the usefulness of PowerShell, and how it can help automate their product. The PowerCLI PSSnapin from VMware is a great example.

And now Tintri, the creators of the VMstore, have joined the ranks. Tintri delivers a PowerShell module, called the Tintri Automation Toolkit, that allows administrators to automate the monitoring and management of a VMstore system. The Toolkit also nicely leverages PowerShell constructs such as object piping for enabling end-to-end VM-level automation.

PS-PCL-TintriThese posts will not be providing a detailed description of the VMstore, and all its merits. There are ample other sources available for that. Needless to say you should definitely have a look at the Tintri website if you want to learn more about the VMstore. I listed a couple of other sources at the end of the series.

I was given the opportunity to have a preview of the of the Tintri Automation Toolkit module, and was permitted to play around with the cmdlets in the Tintri lab.

To take away all suspense, I was quite impressed!

Continue reading Tintri Automation Toolkit – Part 1 – The Basics

PowerCLI 5.5 R2, they do listen to you !

About a week ago I was so fortunate to being able to visit the Team behind PowerCLI.


I did already meet some of the PowerCLI Dev Team members on previous occasions, but this time I was able to see the complete team on their own turf.

Sometimes you immediately feel the chemistry that is present in a Team. And you know, even before you see what they produce, that great products will come out. This Team was for me a typical example of that.

Add on top of that, a dedicated and enthusiastic Product Manager, and voila, magic is in the air.

PowerCLI might be a free product, but you wouldn’t be able to tell that from seeing how this Team, located in Sofia Bulgaria, is dedicated to bringing a new build to you on a tight schedule.

And although PowerCLI might look like a simple products from the surface, you would be amazed at seeing the brainstorming, prototyping and reviewing that hides behind each new PowerCLI build this Team rolls out.

And they did it again with the PowerCLI 5.5 R2 build.

Continue reading PowerCLI 5.5 R2, they do listen to you !

How to run View PowerCLI

During my recent presentation at the 20th VMUGBE+ session, I showed different ways to run View PowerCLI cmdlets and scripts.

Several of the methods I showed, are already discussed on other blogs (to which I will include the links of course), but there is a new PowerShell feature that hasn’t been used until now (afaik).


And since I never found a complete overview of all the available methods, I decided to create this post.

Continue reading How to run View PowerCLI

Rename an ESXi 5.x host

Another one from the PowerCLI Community. User internetrush1 wanted to know how he could rename an ESXi server through PowerCLI.


In fact I was amazed there obviously is no cmdlet nor scripts available to perform this rather basic task. Luckily I had some code snippets laying around that did the job. Basically, I followed KB1010821 to do the ESXi 5.x host rename. But I decided it would be better to provide a real function to do the job.

Continue reading Rename an ESXi 5.x host

HL Tools – Part 2 – Create a Nested Hypervisor

During last year’s VMworld #NotSupported sessions one of the hot topics was William Lam‘s vInception talk. “Nested ESXi” has since then become indispensable in the homelab of everyone tinkering with virtualisation !

As a follow-up to that session, William posted several blog posts on the subject. You can find them all in a handy overview.


But as much as I like his clear instructions on how to set up nested ESXi, I wanted to automate the process 🙂 In my homelab I create, and remove, ESXi VMs on a regular basis. So with the “If you do it more than once, automate it” in mind, I decided to create a function for the process.

Continue reading HL Tools – Part 2 – Create a Nested Hypervisor