One of the most popular scripts on my site with 26,966 downloads of v5 has been the vCheck script, for those of you who haven’t seen this yet here is a quick summary of this script:
Summary
vCheck is a vCenter checking script, the script is designed to run as a scheduled task before you get into the office to present you with key information via an email directly to your inbox in a nice easily readable format.
This script picks on the key known issues and potential issues of the virtual infrastructure and reports it all in one place so all you do in the morning is check your email.
One of they key things about this report is if there is no issue in a particular place you will not receive that section in the email, for example if there are no datastores with less than 5% free space (configurable) then the disk space section will not show in the email, this ensures that you have only the information you need in front of you when you get into the office.
This script is not to be confused with an Audit script, I don’t want to remind you that you have 5 hosts and what there names are and how many CPU’s they have each and every day as you don’t want to read that kind of information unless you need it, this script will only tell you about problem areas with your infrastructure.
So What’s new in 6.0
vCheck 6.0 has been updated to be more community driven and easier to expand, the checks have been removed and put into separate plugins which make it easier for people to contribute. Make sure you check out the plugins page for a list of the plugins and what they check for.
The HTML output has been reformatted to work with newer versions of Outlook. (Lots of previous comments on this!)
A Setup Wizard has been added for easy setup and no more need to reference the vCenter address as a parameter of the script.
As the plugins have been moved out it makes this HTML report framework easy to adapt to other PowerShell enabled products like
- VMware vCD (Already started this one)
- Sharepoint
- Exchange
- vShield
- VMware View
- SQL
- Active Directory
- and more.
Please contact me if your interested to start your own using this template.
A header image has been added to the HTML report to make the report more customizable..
And much much more including lots of speed enhancements.
Big Thanks
Lastly I want to add a big thanks to everyone who has ever run this script and continues to use it, I hope you will find this version as useful as the previous versions. Thanks to the Beta testers, I couldn’t have done it without you, you all came up with some great ideas and additions which made it hard for me to finish developing and releasing – I think I have enough for v7 !
And lastly thanks to anyone who writes a plugin themselves and sends it through to me to include on the plugins page. Keep an eye out soon for some information on how you can easily add new plugins and check your current plugins.
Download
As always, please head over the the vCheck page on this site to download the script.
Pingback: Finding your way in the PowerCLI Community | JO duMonT
Pingback: vCloud Director PAY-AS-GO vCPU default setting – Gotcha : Virtual-Blog.com test site
Hello,
I have been using vCheck for a while and it is a great tool. I’m now running version 6 and would like to know if it is possible to output the results of the report to a .csv file.
Any help appreciated.
Pingback: Clearing up an AD Lightweight Directory Service error on vCenter Server systems « Dennis Bray's Virtual Place
Pingback: vCheck Script | Electric Monk
I have looked thru the script and it appears vcheck6 only takes one of two arguments (using a switch statement), either interactive configuration or the name/path of an html output file. I have two vsphere servers and would like to run the script the “old” way where my scheduled task puts the vsphere server as the argument within each scheduled task.
Are there any plans to add back the server as an argument to the script? I know I can re-work the code, duplicate the script, etc to make it work but was interested if this simplicity could be added back to the next revision.
Thanks,
Sean
Hi, great tool ! thank you for all the effort you have put into this. Is there a way I can just target a single Datacenter – we have six and I’m only interested in the results from one for the moment. thanks
Is it possible to get the list of Orphaned vmdk or can we modify vCheck script to list out Orphaned or zombie vmdk file with path in the data store. Thanks !!
Thanks
vmguy
http://communities.vmware.com/thread/398036?tstart=0
Pingback: vCheck6 Utility Commands « Geek after Five
Do we need to run the setup again or keep the GlobalVariables.ps1 as is. Also has the email in vcheck 6.0 When Sending the email we get the follow error
send-mailmessag : MailBox unavailable. The server respone was: 5.7.1 Client dies bit have permissions to send as this sender.
To solve this in 6.0 we had to readd the OLD String from Vcheck5
———– vCheck 6.10 Released ———–
I am so glad that I stumbled upon this site. Outstanding information! I am so excited to start my new vmware training bootcamp this month athttp://www.globalittraining.net/vmware-training. I will keep checking back for updates. Thanks!
Great script, I am working my way through it but have a couple of issues.
First, I went through and set my security policy to RemoteSigned but it said the script wasn’t signed. I had to set my script policy to unrestricted to get this to run.
Second, everytime I run the script I get a Security Warning on every single plugin that I have to set to Run Once. Is there an option for run always or how can I fix this?
Great job on this though, I am liking what I see!
For the email attachment I fixedit by adding the following line in the vCheck.ps1 script.
Between line 370 and 371 add the following:
$SendAsAttachment = $SendAttachment
Seems there may be some variable confusion. this is working for me.
To Send the Email we added the OLD String from Vcheck5 and it worked
function Send-SMTPmail($to, $from, $subject, $smtpserver, $body) {
$mailer = new-object Net.Mail.SMTPclient($smtpserver)
$msg = new-object Net.Mail.MailMessage($from,$to,$subject,$body)
$msg.IsBodyHTML = $true
$mailer.send($msg)
}
if ($SendEmail) {
Write-CustomOut “..Sending Email”
send-SMTPmail $EmailTo $EmailFrom “$VIServer vCheck Report” $SMTPSRV $MyReport
}