MimSyncMAPartitionData - microsoft/MIMDSC GitHub Wiki

This resource is for MIM Sync MA Partition Data.

The DSC resource configuration below validates the MIM Sync configuration by inspecting the XML below. TODO - include screen shots of the MIM Sync UI

DSC Configuration

This is a sample DSC configuration including just the Management Agent data resource type.

Configuration TestMimSyncMAPartitionDataConfig 
{ 
    Import-DscResource -ModuleName MimSyncDsc

    Node (hostname) 
    { 
        MimSyncMAPartitionData '[TinyHR]default'
        {
            ManagementAgentName   = 'TinyHR'
            Name                  = 'default'
            Selected              = $true 
            ObjectClassInclusions = @(
                'person'
                'contact'
                'robot'
                'hybrid'
            )
            ContainerExclusions   = @()
            ContainerInclusions   = @()
            Ensure                = 'Present'
        }
    }
} 

TestMimSyncMAPartitionDataConfig -OutputPath "$env:TEMP\TestMimSyncMAPartitionDataConfig"
Start-DscConfiguration       -Path "$env:TEMP\TestMimSyncMAPartitionDataConfig" -Force -Wait -Verbose 

MIM Sync XML

This is the XML exported from the Sync Service, which is what the DSC resource validates.

<ma-data>
       <ma-partition-data>
        <partition>
            <id>{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}</id>
            <name>default</name>
            <creation-time>2019-02-13 06:35:57.677</creation-time>
            <last-modification-time>2019-02-27 18:50:21.387</last-modification-time>
            <version>11</version>
            <selected>1</selected>
            <filter>
                <object-classes>
                    <object-class>person</object-class>
                    <object-class>contact</object-class>
                    <object-class>robot</object-class>
                    <object-class>hybrid</object-class>
                </object-classes>
                <containers>
                    <exclusions/>
                    <inclusions>
                        <inclusion></inclusion>
                    </inclusions>
                </containers>
            </filter>
            <allowed-operations>1073741854</allowed-operations>
            <current>
                <batch-number>1</batch-number>
                <sequence-number>0</sequence-number>
            </current>
            <last-successful-batch>0</last-successful-batch>
        </partition>
    </ma-partition-data>

DSC Verbose Output

This is sample log output showing what DSC does with the resource to validate the configuration.

VERBOSE: [CMARTBOOK]: LCM:  [ Start  Set      ]
VERBOSE: [CMARTBOOK]: LCM:  [ Start  Resource ]  [[MimSyncMAPartitionData][TinyHR]default]
VERBOSE: [CMARTBOOK]: LCM:  [ Start  Test     ]  [[MimSyncMAPartitionData][TinyHR]default]
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default] Using CacheLocation: C:\ProgramData\MimSyncDsc\Svrexport
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default] Using CacheAge:      1440 (in minutes)
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default] Cache still valid, leave it
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default] Finding a partition...
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]   Using XPath: //ma-data[name='TinyHR']/ma-partition-data/partition[name='default']
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default] Partition found, diffing the properties.
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]   Comparing property 'selected'
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From DSC: True
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From FIM: True
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]   Comparing property 'filter/object-classes/object-class'
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From DSC: person,contact,robot,hybrid
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From FIM: person,contact,robot,hybrid
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]   Comparing property 'filter/containers/inclusions/inclusion'
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From DSC:
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From FIM:
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]   Comparing property 'filter/containers/exclusions/exclusion'
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From DSC:
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default]     From FIM:
VERBOSE: [CMARTBOOK]:                            [[MimSyncMAPartitionData][TinyHR]default] Returning: True
VERBOSE: [CMARTBOOK]: LCM:  [ End    Test     ]  [[MimSyncMAPartitionData][TinyHR]default]  in 0.4740 seconds.
VERBOSE: [CMARTBOOK]: LCM:  [ Skip   Set      ]  [[MimSyncMAPartitionData][TinyHR]default]
VERBOSE: [CMARTBOOK]: LCM:  [ End    Resource ]  [[MimSyncMAPartitionData][TinyHR]default]
VERBOSE: [CMARTBOOK]: LCM:  [ End    Set      ]
VERBOSE: [CMARTBOOK]: LCM:  [ End    Set      ]    in  0.9940 seconds.
⚠️ **GitHub.com Fallback** ⚠️