HA and DRS Audit

Duncan Epping and Frank Denneman are two of the biggest rockstars in the VMware Community, recently they wrote a fantastic book on HA and DRS, this can be downloaded for a fantastic price from here, if you dont have it then you are not a VMware admin !

But wouldn’t it be great if we could have our own little Duncan or Frank to carry around in our pocket and check our clusters out for HA and DRS issues and best practices – Well now you can – no I haven’t created bobble headed characters, instead I have created…..

The HA and DRS Audit Script

This is a script which was created from the best practices and information in the HA and DRS book, run it against your vCenter and it will check your clusters for information in the book, each part will be shown in a nice HTML report and will give you page numbers and information from the book.

This is not to be used as a replacement for the HA and DRS book, quite the opposite, it is used to compliment the book and tells you which pages to look at for information within the book.

So far I have only read the first 50 pages so all the information in V1.0 of the script is related to the first 50 pages but as I read more I will add more checks and update the script.



The Script can be downloaded from here:



The script couldn’t be easier to run, all you need to do is make sure you have PowerCLI up and running and then follow the below video:

Side note:

Some of you may recognise the format from my vCheck script, stay tuned for a new version of vCheck coming soon with some great enhancements

19 thoughts on “HA and DRS Audit

  1. Pingback: Get-Scripting Podcast Episode 24 – Jonathan Noble | CrypticZero

  2. Jim

    Great script! Output is good for showing management. Is there a way to output the same info into a .csv or .xls or .ods ?

  3. sepeck

    Nice script, some feedback….
    I get this warning which I note for reference only …
    “WARNING: The specified script block may contain a reference to the ‘$_’ variable. If you want to reference the object being extended, please use ‘$args[0]’ instead.”

    There is a cmdlet namespace collision between Microsoft’s Get-Cluster and VMware’s Get-Cluster. Currently I have solved it at the PoSH line with an alias check and rename in my profile script.
    $checkAlias = test-path -path alias:get-vmcluster
    if ($checkAlias -ne “True”) { New-Alias -Name Get-VMCluster -Value “VMware.VimAutomation.Core\Get-Cluster” }

    For scripts, I generally hardcode the full path for this one cmdlet to avoid this annoyance : VMware.VimAutomation.Core\Get-Cluster

  4. Pingback: All Things Virtual 23 « TheSaffaGeek

  5. Chris

    My vote is to make it visible only if they mismatch.

    It just happened that I patched my hosts two days previous and I thought there may be a problem. I had to double-check I patched them all. It was also strange because that was the only recommendation that was made.

    Again, great stuff and keep up the good work. Thanks.

  6. Virtu-Al

    Yeah I wasnt sure if i should not show them if they were all ok or leave it in just to make people aware – Thoughts ?

  7. Chris

    Great script. I love the interface. One question though… Why, if both my hosts are at the same build, does it give me a recommendation about not having different build numbers in a cluster?

  8. Pingback: Awesome HA and DRS Audit Script Based on the HA/DRS Technical Deepdive | vHersey

  9. Virtu-Al

    Thanks – the image Embedding is cool, lookup “base64 encode image PowerShell” I agree it does add to the file size but also means I can make sure there are no dependencies and it looks good.

  10. Edward S

    Thanks for the script – I have been using many of your scripts in the past. I decided to post now because I found your ability to embed images into scripts to be quite a useful technique (after first dropping my jaw @ the size of the ps1 file)!

  11. Virtu-Al

    Thanks, I wondered about the GUI as I want to add this to more of my scripts, more complex and less of the orange.

    Thanks, that helps me.

  12. Doug B

    It’s the same in the US. I don’t want those guys anywhere NEAR my pants — but the script is nice and the UI is cool, too. Nice work!

  13. Doug B

    Excellent stuff! Although, carrying a little Frank or Duncan in my pocket is something I’ve neither wanted nor considered — that just sounds wrong on too many levels.

  14. Pingback: HA / DRS Deepdive…. euuh I mean the audit » Yellow Bricks

  15. Andrea Casini

    Reading the help does indeed… help.
    To run an unsigned script:

    1. Save the script file on your computer.
    2. Click Start, click My Computer, and locate the saved script file.
    3. Right-click the script file, and then click Properties.
    4. Click Unblock.

  16. Andrea Casini

    Jumping in PowerCli for the last month i still have troubles when i get the error from a script that is not digitally signed and won’t run. Do i have to sign it myself? Am i the only one getting this?


  17. Jason Boche

    Nice job on this tool Alan. I ran it against 2 of my lab clusters and didn’t see any recommendations. Can I assume that is because the audit found no issues with my cluster configurations?

    This would be a great tool to implement with vcheck and the VMware Community PowerPack.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.