Skip to content
This repository was archived by the owner on Mar 7, 2019. It is now read-only.
Skatterbrainz edited this page May 22, 2017 · 15 revisions

Welcome to the cm_healthcheck wiki!

What is it?

This set of files was derived from the work of Rafael Perez (https://www.rflsystems.co.uk). Read the full story here. He did the lion share of the work. I came along, lured it to an unmarked white van with a picture of Chris Hansen holding puppies on one side and "free ice cream" on the other. Once inside, I duct-taped it with some code to work with SCCM current branch, and Microsoft Word 2016 on Windows 10. Since then I've continued to tweak it just a little when needed.

Does Rafael know?

I don't know. I did send him some of my updates a while back, but only some of them were merged into his offering (which he still maintains).

How does it work?

The process works the same as when Rafael wrote the original:

  • Run the Get-CM-Inventory.ps1 script on (or against) the SCCM site server.
  • Copy the output folder (date-stamp\servername) to a machine which has MS Word.
  • Run the Export-CM-HealthCheck.ps1 script against the copied data folder.

What Else?

You'll need the full set of files, except for the stupid Get-AD-Inventory.ps1 script, which was written while drinking too much wine. Very bad. I left it as an example of what not to do.

I like how Rafael structured the process into code. Most environments I've tested this in, which includes everything from SCCM 2012 to 1703, on Windows Server 2008 R2 to 2016, to SQL Server 2012 to 2016, and Windows 8.1 to 10 on the client, as well as Office 2010, 2013, and 2016, I've found that the collection process works best ON the SCCM host server. Whether that's a CAS or a standalone Primary, it works very well for me. I've also run this across a CAS environment which covered three (3) separate AD Forests with transitive and one-way trusts. The export process requires Microsoft Word, which is (hopefully) not installed on an SCCM site server, so that part works best on a desktop or laptop.

Enough blabbering. Please kick the tires and provide feedback? If you like, I would prefer if you submit bugs, and enhancement requests as "issues" from within this repository. That way I can track progress and you can get updates.

Downloads

Simply use the Download as ZIP option from the Code section. Extract the files and try it out. If you like it, be sure to thank Rafael too, since he gave birth to this and made it possible.

Version Updates / Change Log

Version 0.1 - Raphael Perez - 24/10/2013

  • Initial Script

Version 0.2 - Raphael Perez - 05/11/2014

  • Added Get-MessageInformation and Get-MessageSolution

Version 0.3 - Raphael Perez - 22/06/2015

  • Added ReportSection

Version 0.4 - Raphael Perez - 04/02/2016

  • Fixed issue when executing on a Windows 10 machine

Version 0.5 - David Stein (4/11/2017)

  • Changed "cm12R2healthCheck.xml" to "cmhealthcheck.xml"
  • Detailed is now a [switch] not a [boolean]
  • Minor bugfixes throughout

Version 0.6 - David Stein (4/17/2017)

  • Bugfixes

Version 0.61 - David Stein (5/16/2017)

  • Added -NoHotFix option
  • Removed Test-PowerShell function dependency
  • Incremented version from 0.51 to 0.6 for consistency

Version 0.62 - David Stein (5/19/2017)

  • Fixed bug with -NoHotFix [switch] typo
  • Added pipeline support for SmsProvider parameter

Version 0.63 - David Stein (5/22/2017)

  • Fixed bug with type cast Int32
  • Corrected "Secion" to "Section" (minor change)

Version 0.64 - David Stein (5/22/2017)

  • Bug fix in Catch{} section of Get-SqlData to rename $ComputerName to $ServerName

Clone this wiki locally