Test-SystemHealth cmdlet speaks for itself. It checks the health of the system from the Exchange Shell. It is pretty much running Exchange Best Practice Analyzer from the command prompt. And yes, it does download the the latest configuration files from the internet every time you run the command.
Execution of the command downloads the latest configuration files, collects info about your server, analyses against Microsoft best practice and gives you an output. You need to run the command locally on the server you want to check. There is no “server” parameter yet to run the command against a remote machine.
Running Test-SystemHealth cmdlet tries to connect to the internet as shown.
Once the latest config files are downloaded, it runs through a set of tests based on the Exchange role.
And finally the output with recommendations, warnings and errors.
It is complaining about the lack of 3rd party cert, filter packs etc in my case. Since it is a lab server, I am not too worried about it. You can tell the cmdlet not to download the config files (say if you don’t have connection to the internet from the Exchange server). Run Test-SystemHealth –DownloadConfigurationUpdates:$false
A simple cmdlet which does the job, although option to check against remote servers would be nice!