New book – Learning PowerCLI

Learning PowerCLI Book CoverI am verry happy to announce that my first book Learning PowerCLI has been published today by Packt Publishing. This book is written for VMware vSphere administrators who want to automate their
vSphere environment using PowerCLI. Learning PowerCLI is written in a friendly and practical style with a focus on getting you started and automating daily tasks quickly and efficiently. If you manage or administrate a vSphere environment, and want to make that easier and more efficient, then this book is for you! It is assumed that you have at least a basic knowledge of VMware vSphere. If you are not a vSphere administrator, but you are interested in learning more about PowerCLI, then this book will also give you some basic knowledge of vSphere. Read more of this post

PowerCLI Get-VICommand function error repaired

PowerCLI logoOn my PC (Windows 8 Pro, Windows PowerShell 3 and VMware vSphere PowerCLI 5.1 Release 2) there is a very annoying problem with the Get-VICommand function. If I use this function without specifying the name of a cmdlet to search for, then I get an “Object reference not set to an instance of an object” error message:

PowerCLI C:\users\robert> Get-VICommand
get-command : Object reference not set to an instance of an object.
At C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1:68 char:3
+   get-command -pssnapin VMware.* -Name $Name
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-Command], NullReferenceException
    + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.GetCommandCommand

Listing 1. Get-VICommand error message with PowerShell 3.
Read more of this post

Get VMware vCenter Scheduled Tasks with PowerCLI

PowerCLI logoVMware vSphere PowerCLI is missing cmdlets to work with VMware vCenter Scheduled Tasks. In a series of blog posts I will show you some PowerShell advanced functions that you can use to work with vCenter Scheduled Tasks. The first function is Get-VCScheduledTask. You can use this function to retrieve one or more scheduled tasks from your vCenter Server. Read more of this post

Use PowerCLI to consolidate snapshots in vSphere 5

PowerCLI logoIn vSphere 5 a virtual machine can have a “Virtual machine disks consolidation is needed” Configuration Issue warning in the Summary tab. How can you use PowerCLI to see which virtual machines have this warning? And how can you automate the consolidation of the virtual machine’s disks? Read more of this post

How to list all the PowerCLI ESXCLI commands

PowerCLI logoLast week there was a question in the VMware VMTN Communities VMware vSphere PowerCLI forum from Papires who asked how you can convert the ESXCLI command ‘esxcli storage vmfs snapshot mount -l “DATASTORE”‘ into a PowerCLI command. I had not done very much with ESXCLI in PowerCLI, but I knew that it was something like ‘$esxcli.storage.vmfs.snapshot.mount’. However I was struggling with the ‘-l “DATASTORE”‘ part.

There is not much documentation available about the ESXCLI commands in PowerCLI. And also a search in Google did not help me very much. Finally I found the right answer using the PowerShell Get-Member cmdlet. Read more of this post

Use Performance Monitor to get VM performance statistics

PowerShell logoIn PowerCLI you can use the Get-Stat cmdlet to get performance statistics. But for Microsoft Windows virtual machines with the VMware Tools installed there is another way to get the statistics. Even without using PowerCLI. Read more of this post

Use PowerCLI to find the datastore from a disk name

PowerCLI logoRecently we get vSphere alarms in our environment that say for instance:

“[VMware vCenter - Alarm Host error] Issue detected on host in datastore: ScsiDeviceIO: 2368: Failed write command to write-quiesced partition naa.600a0b8000111155000021c53f97784e:1 (42:01:04:07.994 cpu7:5191)”

There seems to be a problem on a partition. But which datastore is on this partition? We can use PowerCLI to find the datastore involved. Read more of this post

VMware vExpert 2012

This week VMware announced the vExperts for 2012 and I am proud to be one of them. Last year I didn’t make it. But this morning I received the following e-mail from Alex Maier who is the VMware vExpert Program Manager:

I am pleased to inform you that you have been designated a vExpert 2012 in recognition of your contribution to the VMware, virtualization, and cloud computing community.

You’ve done work above and beyond, helping others succeed with VMware, and we here in the Social Media and Communities team are delighted to welcome you to the program.

VMware vExperts are a special group, a network of peers, who communicate with each other and VMware closely, share resources, and get other opportunities for greater interaction throughout the year.

Thanks for all you do. The vExpert Program is going to be great this year. Keep on rocking!

With kind regards,
Alex Maier (vExpert Program Manager) and the VMware Social Media and Communities Team

Many thanks to Alex and John Mark Troyer, who started the vExpert program three years ago.

I am proud to be part of the VMware vExperts. And I look forward to work with VMware and the other vExperts more closely.

Congratulations to all the other vExperts 2012!

More information about the VMware vExpert program can be found at the vExpert Directory.

Top Blog 2012 results

Today Eric Siebert announced the Top Blog 2012 results. When I nominated my blog for the Top Blog voting I was a little bit afraid that I might end up last. But I didn’t.

My results

Here are my results:

Category Place Votes
Overall 145 19
Favorite Scripting Blog 10 21
Favorite New Blog 12 38
Favorite Independent Blogger Not listed

Table1. My results at the Top Blog 2012 voting.

There were 187 blogs nominated in total. So I’m very happy with place 145.

This result stimulates me to try to write a lot of good blog posts this year. And I hope to do it even better in the Top Blog voting next year.

Thank you to all who voted for my blog!

Function to speed-up the execution of the first PowerCLI cmdlet

PowerCLI logo
Last year there was a post on the PowerCLI Team blog called How to speed-up the execution of the first PowerCLI cmdlet. That post showed commands you need to execute to pre-compile some of the PowerCLI code to prevent this from being done in every PowerCLI session.

Running these commands will speed-up the execution of the first PowerCLI cmdlet you run in your session. The blog post was made before PowerCLI 5.0 was released and didn’t show the commands to speed-up PowerCLI 5.0. Later there was a post at the vNugglets blog Speed Up First PowerCLI 5 cmdlet — Precompile XMLSerializers that shows the commands needed for PowerCLI 5.0.

But what happens when PowerCLI 5.1 or 6.0 is released? Of course we can try to find the new commands needed to speed-up PowerCLI every time a new version is released. But would it not be easier if we have a function that will do this for you?

The Install-PowerCLIXmlSerializer function presented in this post will show you a PowerShell function that you need to run once after you install a new PowerCLI version to speed-up the execution of the first cmdlet every time you run PowerCLI. Read more of this post

Follow

Get every new post delivered to your Inbox.

Join 660 other followers