Skip to content

MimSyncMaData

Craig Martin edited this page Feb 23, 2019 · 1 revision

This resource is for MIM Sync MA 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 TestMimSyncMaData 
{ 
    Import-DscResource -ModuleName MimSyncDsc

    Node (hostname) 
    { 
        MaData TestMimSyncMaData
        {
            Name    = 'TinyHR'
            AttributeInclusion           = @(
                'UserID'
                'FirstName'
                'Initial'
                'LastName'
                'Title'
                'JobTitle'
                'HireDate'
                'Status'
            )
            Category                 = 'Delimited'
            ControllerConfiguration = ControllerConfiguration{
                ApplicationArchitecture = 'process'
                ApplicationProtection   = 'low'
            }
            Extension = Extension{
                AssemblyName            = 'TinyHRExtension.dll'
                ApplicationProtection   = 'low'
            }
            PasswordSync = PasswordSync{
                AllowLowSecurity        = $true
                MaximumRetryCount       = 10
                RetryInterval           = 60
            }
            PasswordSyncAllowed         = $false
            ProvisioningCleanup = ProvisioningCleanup{
                Type                    = 'declared'
                Action                  = 'make-normal-disconnector'
            }
            Ensure = 'Present'
        }                
    }
} 

MIM Sync XML

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

<ma-data>
    <name>TinyHR</name>
    <category>Delimited</category>
    <subtype/>
    <ma-listname/>
    <ma-companyname/>
    <password-sync-allowed>0</password-sync-allowed>
    <attribute-inclusion>
        <attribute>UserID</attribute>
        <attribute>FirstName</attribute>
        <attribute>Initial</attribute>
        <attribute>LastName</attribute>
        <attribute>Title</attribute>
        <attribute>JobTitle</attribute>
        <attribute>HireDate</attribute>
        <attribute>Status</attribute>
    </attribute-inclusion>
    <provisioning-cleanup type="declared">
        <action>make-normal-disconnector</action>
    </provisioning-cleanup>
    <extension>
        <assembly-name>TinyHRExtension.dll</assembly-name>
        <application-protection>low</application-protection>
    </extension>
    <controller-configuration>
        <application-protection>low</application-protection>
        <application-architecture>process</application-architecture>
    </controller-configuration>
    <description></description>
    <password-sync>
        <maximum-retry-count>10</maximum-retry-count>
        <retry-interval>60</retry-interval>
        <allow-low-security>0</allow-low-security>
    </password-sync>
</ma-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 ]  [[MaData]TestMimSyncMaData]
VERBOSE: [CMARTBOOK]: LCM:  [ Start  Test     ]  [[MaData]TestMimSyncMaData]
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] Using CacheLocation: C:\ProgramData\MimSyncDsc\Svrexport
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] Using CacheAge:      1440 (in minutes)
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] Cache still valid, leave it
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] Finding a management agent XML file with a name of 'TinyHR'
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Using XPath: //ma-data[name='TinyHR']
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] Management agent found, diffing the properties...
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property 'Name' using XPath: //ma-data/name
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: TinyHR
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: TinyHR
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Skipping 'AnchorConstructionSettings' because it is not yet supported by this DSC resource.
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property 'AttributeInclusion' using XPath: //ma-data/attribute-inclusion/attribute
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: (6) UserID, Initial, Title, JobTitle, HireDate, Status
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: (8) UserID, FirstName, Initial, LastName, Title, JobTitle, HireDate, Status
WARNING: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   'AttributeInclusion' property is not the same.
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property 'Category' using XPath: //ma-data/category
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: Delimited
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: Delimited
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property ControllerConfiguration using XPath: //ma-data/controller-configuration
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: ApplicationArchitecture=process ApplicationProtection=low
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: ApplicationArchitecture=process ApplicationProtection=low
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Skipping system-owned attribute: DependsOn
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property 'Description' using XPath: //ma-data/description
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC:
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM:
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Skipping system-owned attribute: Ensure
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property Extension using XPath: //ma-data/extension
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: AssemblyName=TinyHRExtension.dll ApplicationProtection=low
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: AssemblyName=TinyHRExtension.dll ApplicationProtection=low
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property PasswordSync using XPath: //ma-data/password-sync
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: MaximumRetryCount=10 RetryInterval=60 AllowLowSecurity=True
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: MaximumRetryCount=10 RetryInterval=60 AllowLowSecurity=True
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property 'PasswordSyncAllowed' using XPath: //ma-data/password-sync-allowed
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: False
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: False
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property ProvisioningCleanup using XPath: //ma-data/provisioning-cleanup
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC: type=declared action=make-normal-disconnector
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM: type=declared action=make-normal-disconnector
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Skipping system-owned attribute: PsDscRunAsCredential
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]   Comparing property 'Subtype' using XPath: //ma-data/subtype
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From DSC:
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData]     From FIM:
VERBOSE: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] Returning: False
VERBOSE: [CMARTBOOK]: LCM:  [ End    Test     ]  [[MaData]TestMimSyncMaData]  in 1.7750 seconds.
VERBOSE: [CMARTBOOK]: LCM:  [ Start  Set      ]  [[MaData]TestMimSyncMaData]
WARNING: [CMARTBOOK]:                            [[MaData]TestMimSyncMaData] DSC resources for the Synchronization Service are not able to update the Synchronization configuration.
VERBOSE: [CMARTBOOK]: LCM:  [ End    Set      ]  [[MaData]TestMimSyncMaData]  in 0.0100 seconds.
VERBOSE: [CMARTBOOK]: LCM:  [ End    Resource ]  [[MaData]TestMimSyncMaData]
VERBOSE: [CMARTBOOK]: LCM:  [ End    Set      ]
VERBOSE: [CMARTBOOK]: LCM:  [ End    Set      ]    in  1.9450 seconds.