MIM Sync DSC Approach - microsoft/MIMDSC GitHub Wiki

DSC Resources for the Sync Service are read-only

DSC resources perform three functions:

  • Get - retrieve the actual state of the item
  • Test - compare the actual state to the desired state
  • Set - make the actual state become the desired state

The DSC resources for the Synchronization Service only perform Get and Test, because programmatic modification of the Synchronization Service configuration is quite limited. Exhaustive documentation exists for the ma-data and mv-data documents that can be provided to the undocumented-but-public functionality for updating the Synchronization Service but it seemed to risky to automate.

Synchronization Service configurations can be complex, so there is still great value in DSC because it can indicate precisely what changed and when.

Everything depends on ma-data and mv-data

The DSC resources for the Synchronization Service consume the server configuration XML files produced by exporting the Synchronization Service configuration. This means the DSC resources just need those XML files to evaluate the Synchronization Service configuration. For testing this is very convenient because the DSC resources can run without requiring the Synchronization Service to be running (or even installed).