Update-DscConfiguration with partial configs is behaving different

I just created a partial configuration on several different machines and the results after “Update-DscConfiguration -Verobse -Wait” are not the same as they were when the LCM was not configured as such. I’ll commit a change for one of my config scripts and deploy the scripts to the pull server and run the aforementioned command on a node but the configuration changes will not automatically occur. It will occur several minutes later however… presumably on a normal LCM config check.

Is this expected behavior for partial configs?

You can see below that the check is running “successfully” - but the changes do not occur on the run as they did before:

PS C:\Users\Administrator> Update-DscConfiguration -Verbose -Wait
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' =
PerformRequiredConfigurationChecks,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' =
VERBOSE: An LCM method call arrived from computer WIN-F3BTDUDK8NO with user sid
VERBOSE: [WIN-F4BTDUDK7NO]:                            [] Executing Get-Action with configuration 's checksum returned
result status: GetConfiguration.
VERBOSE: [WIN-F3BTDUDK8NO]:                            [] Checksum is different. LCM will execute GetConfiguration to
pull configuration .
VERBOSE: [WIN-F3BTDUDK8NO]:                            [] Executing GetConfiguration succeeded. Configuration
DSCConfigDesktopApps was pulled from server.
VERBOSE: [WIN-F3BTDUDK8NO]:                            [] Executing GetConfiguration succeeded. Configuration
DSCConfigSystemBase was pulled from server.
VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 5.001 seconds

Can you please share the metaconfig on this target node?

Did you happen to leave the ConfigurationID=’’ in the LCM script by any chance ?

LCM setting script will help indeed.


What do you mean exactly by “metaconfig”? You want the .mof?


ConfigurationID=" is not in the LCM config:

Configuration SampleRegistrationMetaConfig

            RefreshFrequencyMins = 30;
            RefreshMode = "PULL";
            ConfigurationMode = "ApplyAndAutoCorrect";
            AllowModuleOverwrite = $true;
            RebootNodeIfNeeded = $true;
            ConfigurationModeFrequencyMins = 60;


        ConfigurationRepositoryWeb ConfigurationManager
            ServerURL = "https://xxxxxx:8080/PSDSCPullServer.svc"
            RegistrationKey = "xxxx-xxxx-xxxxx-xxxx-xxxx"
            ConfigurationNames = @('DSCConfigDesktopApps', 'DSCConfigSystemBase')
            AllowUnsecureConnection = $false
        PartialConfiguration DSCConfigDesktopApps
            Description = 'Add desktop applicaitons'
            RefreshMode = 'Pull'
            ConfigurationSource = '[ConfigurationRepositoryWeb]ConfigurationManager'
        PartialConfiguration DSCConfigSystemBase
            Description = 'Config baseline system'
            RefreshMode = 'Pull'
            ConfigurationSource = '[ConfigurationRepositoryWeb]ConfigurationManager'

SampleRegistrationMetaConfig -outputpath C:\dsc
Set-DscLocalConfigurationManager -Path C:\dsc -Verbose

This is a known issue in WMF 5. 0 RTM which is already fixed in windows internal builds. Workaround is to use

Start-DscConfiguration -wait -verbose -useExisting

after performing Update-DscConfiguration.

That worked! Thanks!!!