Get-InventoryPlus – Inventory of all vSphere objects

Often I have to get a complete list of all the objects in a vSphere environment. From the PowerCLI cmdlets, the Get-Inventory cmdlets looks like the obvious candidate to tackle such a request. But the cmdlet seems to have some shortcomings. It definitely does not return all vSphere objects.

Hence I set out to write this Get-InventoryPlus function.

The function was demonstrated for the first time during the 24th VMUGBe in Mechelen.

Continue reading Get-InventoryPlus – Inventory of all vSphere objects

Universal PowerCLI Loader

PowerCLI is great tool, and the Team behind it surprises us on a regular basis with a new Release. With the v6.x generation we witnessed the introduction of Modules. And the Team keeps adding further integration with other VMware products.

With the PowerCLI installation comes a shortcut to a PowerShell sessions, loaded with all the PowerCLI goodness. And this is ideal to make your first steps in the wonderful world of PowerShell and PowerCLI.

But soon you’ll start using more advanced features of PowerShell. You’ll be scheduling jobs, running parallel workflows, start using PowerCLI in Desired State Configuration (DSC). At that moment, the simple PowerCLI session doesn’t cut it anymore, and even the Init scripts that are installed together with PowerCLI, will not give you the exact environment as you want it. Hence my Universal PowerCLI Loader!

universal

I have been using a “Universal PowerCLI loader” function since quite some time now. I thought it was time to prettify it a bit, and share it with the community.

Continue reading Universal PowerCLI Loader

Visual Studio Code and PowerCLI

In a blog post on November 16th 2015 Microsoft announced PowerShell support in Visual Studio Code. And as it befits the “new” Microsoft, this PowerShell extension for Visual Studio Code (VSC) was placed on GitHub.

VSC offers features that are currently not present in the PowerShell ISE, one of the more important ones for now being Git support. And another, not negligible feature, VSC is a free product. On the VMware{code} powercli Slack channel, which you should check out, the new editor was discussed briefly.

PCLI-and-VSC

With the 0.6.0 release of PowerShell for VS@Code, a couple of important new features were introduced. For the PowerCLI users, the addition of a VSC specific ‘profile‘, makes editing your PowerCLI scripts in VSC a lot easier. Want to try it out, read on!

vsc-060

Continue reading Visual Studio Code and PowerCLI

A closer look at Get-EsxCli V2

In IT we don’t like breaking changes in our software. But sometimes you do need to break an egg to make an omelet. Standing still is ultimately moving backwards.

esxcli-v2In the most recent PowerCLI Release (v6.3 R1) such a change was introduced for the Get-EsxCli cmdlet. With the ingenious introduction of the V2 switch this is not yet a breaking change, but you should be aware that the “old” way of using Get-EsxCli will ultimately go away.

In the VMware vSphere PowerCLI Reference: Automating vSphere Administration, 2nd Edition, we included a script (Chapter 15, Listing 15-2), that allowed you to create a handy Reference Chart of the available methods under the Get-EsxCli cmdlet. This post provides an update to that script for V2.
Continue reading A closer look at Get-EsxCli V2

VMSA-2015-0007 Report

On October 1st 2015 VMware published Security Advisory VMSA-2015-0007. In that advisory you will find three vulnerabilities: CVE-2015-5177, CVE-2015-2342 and CVE-2015-1047.

VMSA-2015-0007

To anticipate the questions you will surely get from your local Security Officer, I created a function to report which vSphere Servers in your environment are impacted, and which action to take.

Update October 5th 2015:

  • Updated build numbers in $vmsaTab
  • Corrected build number testing (thanks Richard)

Continue reading VMSA-2015-0007 Report

PowerCLI 6.0 R2 – Little black book

How many of you have seen Alan‘s, by now famous, book,  where he writes down all the user requests and comments he receives ?

book

Today Alan, and the PowerCLI Dev Team, have proven once again that this book is not there for the show. As I already mentioned some time ago in PowerCLI 5.5 R2, they do listen to you !, these guys keep improving an otherwise fantastic product at regular intervals. And note that 5.5R2 was only released a mere 18 months ago !
In today’s PowerCLI 6.0 Release 2 they added a bunch of highly interesting features. Just to name a few:

  • Further steps to a full Module distribution. The License component is now a module as well. And they fixed the issue with the $PSModulePath I mentioned in Fixing a (minor) PowerCLI 6 R1 issue
  • Further VROps integration, and I’m especially excited about the Get-OMStat cmdlet.
  • Update Manager integration. We have all been waiting for this one! No more separate product, fully integrated in PowerCLI, and it will work with Update Manager 5.5 and later.
  • More cmdlets build on the VASA API.
  • Support for SRM 6.1 and vCloud Director 8.0
  • …and a ton of fixes and improvements!

For a full overview consult the PowerCLI 6.0 R2 Release Notes.

Btw, Alan has demonstrated a number of these new features in our VMworld US session INF5211.

So what are you waiting for ? Start downloading !

And as a side note, the book is not full yet, keep sending your requests and suggestions to Alan ! It will only make the product better, because they do listen to you !

Enjoy !

Fixing a (minor) PowerCLI 6 R1 issue

With PowerCLI 6 R1 a major change was introduced, PowerCLI now has modules !

Such a major change is bound to introduce some minor nuisances, as some PowerCLI users have already discovered. This post will try to tackle some of these nuisances.

pcli-v6-bandaidThe first issue is with the PSConsoleFile, called vim.psc1, which was often used in batch invocations of PowerCLI scripts. Unfortunately this is a breaking change, but it can easily be fixed as this post will show.

The second annoyance has to do with the PowerShell environment variable called $env:PSModulePath. The installation package for PowerCLI 6 R1, sets the module path in the user environment variable, which might cause an issue. Read on.

Continue reading Fixing a (minor) PowerCLI 6 R1 issue

Le Onyx nouveau est arrivé ! *

Did you convert to the vSphere Web client when you installed vSphere 5.5 or 6.0 ?

Are you using PowerCLI ?

Do you sometimes use SDK API methods for those special scripts ?

If you answered yes to some of these questions, you must be missing the Onyx Project application ! Well, your patience is rewarded. In the Fling repository you will find, starting today, the new Onyx for the Web Client v1.0 package.

OnyxMain

With the new Onyx you can watch which methods and properties all your Web Client actions are using. And with that knowledge you can easily ascend another level or two on your path to automation nirvana !

Continue reading Le Onyx nouveau est arrivé ! *

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.

Workflow-PowerCLI

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