--- A blog post from Paul Wetter on behalf of Cyber Advisors
Administration of Configuration Manager is more than a full-time job by itself. Maintaining some sort of documentation for the environment that can be given to management or stored internally can be an all together second job. So, why continue a manual task of creating documentation when you could automate it and have an extensive and detailed document created in minutes instead of hours.
In 2013, David O’Brien, https://david-obrien.net, created a massive documentation script that would collect a ton of information from a Configuration Manager environment. He has since moved on from Configuration Manager and posted the last version of his script out on GitHub (https://github.com/davidobrien1985/ConfigMgr/blob/master/DocumentCM12R2v2.ps1) for everyone to use and possibly expand upon.
For quite some time now, I have wanted to dissect and bring it up to date and make it better in some ways. So, I forked his github repository and over the last month or so, I’ve been nibbling at it here and there in my free time and finally have it at a pretty good place. So, here’s what I did.
The first thing that always bugged me about the script was the requirement for Microsoft Word to write the documentation. Often, it would have been easiest to just run the script from the CM server where Word should never be. So, I dumped the first 2000+ lines (needed for MS Word) and built some functions to allow me to write the entire document in HTML. The obvious advantage here was no requirement for Word. All you need is PowerShell. And, the HTML is written in a way, that you can always import it into Word and make any additions or format changes you want after.
So, my updated script contains pretty much everything collected from the original. Below is a summary of what’s New (my personal favorites are in bold type)
- Removed dependence on Microsoft Word.
- Formatted HTML output.
- Updated to work with Current Branch (1710+).
- Collects everything for Software Updates (ADRS, Config, Packages, Groups)!!
- Collects important Info for SQL database.
- Collects Site features and servicing history.
- Collect Default Boundary Group settings.
- Extended to include configuration of all the new Client Settings.
- Collects additional Collection information.
- Summarizes Collections with maintenance windows.
- Summary of all the different Compliance settings (Conditional Access, Company resources, etc).
- Updated Endpoint Protection Profile info.
- MUCH more detail on Applications.
- Added OSD Related Items (Installers, Images, Upgrade Packages)
- Lists Task Sequence steps.
- Summary or detailed options.
- CM Scripts
I’m maintaining the script out on GitHub. Download the latest version here.
As I have more free time, I’ll be adding more. And as CM continues to evolve, more will come from there as well.
If you have ideas of items to add, run into issues running the script, post here or to the Issue tracker on GitHub.
Let me know what you think of the updated script.
And post back here and let us know how you’re using the script!