My recent engagement has seen me work with all things MIM 2016. Putting configurations into source control is one of them.
To start this article, it baffles me most when people are integrating a product within a solution and have decided to ignore anything related to source control! It hurts right in the middle of the head when people are too busy getting a solution going, promoting to next stage or making more configurations and not worrying about keeping a copy of their previous iteration of success.
I havent done anything special here but only collated a bunch of articles and some scripts to put together a process which ensures that every night when devs knock off, they have a copy of their work in git! Everytime they make a breaking change they can go to git and restore their work by importing previous days changes.
My main focus here is the MIM configurations, not so much the database as that is covered easily by setting up daily sql job for backup or your VM snapshots.
The scripts which I have gathered cover the following
- Config
- Service
- Portal
- Policy
- Schema
- Sync
- MA – Management Agent
- MV—Metaverse
- Extensions
- Service
I have also put together a handy script which runs all profiles at once. This was done by exporting profile as code using the sync manager tool and then running them one after the other as recommended on MS Docs. See repo below for the code, note this can be done either in Powershell or .NET console app. I chose the latter.
I also configured an Azure pipeline to execute all of this remotely using the Remote powershell on target machine.