Hi,
I try to install a DSC HTTPS Pull server environment with Partial configuration. Using ConfigurationNames.
But when I call the Update-DscConfiguration I get this :
In the Pull server Events log : Server response for ConfigurationName = DSCClient01 with Status = UpdateMetaConfig (Information)
In the Client Events log : Message UpdateMetaConfig is not a valid value for GetActionResponse. (error)
I think it is related to this bug :
Here are my scripts :
Pull Server config :
Configuration PullServer { param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $SSLCertThumbprint ) Import-DscResource -ModuleName xPsDesiredStateConfiguration node localhost { WindowsFeature DSCServiceFeature { Ensure = "Present" Name = "DSC-Service" } xDscWebService PSDSCPullServer { Ensure = "Present" EndpointName = "PSDSCService" Port = 443 PhysicalPath = "c:\inetpub\PullServer" CertificateThumbPrint = $SSLCertThumbprint State = "Started" AcceptSelfSignedCertificates = $true DependsOn = "[WindowsFeature]DSCServiceFeature" ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" RegistrationKeyPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService" } File RegistrationKeyFile { Ensure = 'Present' Type = 'File' DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt" Contents = '67c4388b-6440-4afa-b787-910dad5610f0' } } } $SSLThumbprint = Get-ChildItem -Path Cert:\LocalMachine\My | where {$_.Subject -like '*dscqua01.*'} | select -ExpandProperty Thumbprint PullServer -SSLCertThumbprint $SSLThumbprint -OutputPath C:\PullConfiguration Start-DscConfiguration -Path 'C:\PullConfiguration' -Wait -Verbose
DSC Client LCM Config :
[DscLocalConfigurationManager()] Configuration DscNodePartialConfig { param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $DscNodeName ) Node $DscNodeName { Settings { RefreshMode = 'Pull' ConfigurationMode = 'ApplyAndAutoCorrect' ActionAfterReboot = 'ContinueConfiguration' RebootNodeIfNeeded = $false DebugMode = 'ForceModuleImport' } ConfigurationRepositoryWeb V2PullServer { ServerURL = 'https://dscqua01.central.XXX.int/PSDSCPullServer.svc/' ConfigurationNames = @('InitialConfig','DSCClient01') RegistrationKey = '67c4388b-6440-4afa-b787-910dad5610f0' } ResourceRepositoryWeb V2PullServer { ServerURL = 'https://dscqua01.central.XXX.int/PSDSCPullServer.svc/' RegistrationKey = '67c4388b-6440-4afa-b787-910dad5610f0' } ReportServerWeb V2PullServer { ServerURL = 'https://dscqua01.central.XXX.int/PSDSCPullServer.svc/' RegistrationKey = '67c4388b-6440-4afa-b787-910dad5610f0' } PartialConfiguration 'InitialConfig' { Description = 'Configuration for the Base OS' ConfigurationSource = '[ConfigurationRepositoryWeb]V2PullServer' RefreshMode = 'Pull' } PartialConfiguration 'DSCClient01' { Description = 'Configuration for application' ConfigurationSource = '[ConfigurationRepositoryWeb]V2PullServer' RefreshMode = 'Pull' } } } DscNodePartialConfig -OutputPath C:\PullConfiguration\LCM -DscNodeName DSCClient01 Set-DscLocalConfigurationManager -ComputerName DscClient01 -Path C:\PullConfiguration\LCM -verbose
One of the partial config I need to update :
Configuration DSCClient01 { param( [string]$Servername ) Import-DscResource -Name xPackage Import-DscResource –ModuleName 'PSDesiredStateConfiguration' $config = gc -Path "C:\PullConfiguration\apps\GFM\ServerConfigs\$Servername.json" | Convertfrom-json #$config = Invoke-RestMethod -Uri 'http://localhost/my.json' | convertfrom-json TODO: test with WebApi if needed / choosed Node $config.NodeName { #Generate config for Apps/Msi type foreach ($app in $config.Apps) { xPackage $app.AppName { Name = $app.PackageName Ensure = $app.Ensure Path = $app.MsiPath ProductID = $app.ProductID Arguments = $app.Arguments } } } } function UpdateServerConfig{ param( [string]$ServerName ) $MofPath = "C:\Program Files\WindowsPowerShell\DscService\Configuration\" #Regenerate the MOF config DSCClient01 -OutputPath $MofPath -Servername $ServerName New-DscCheckSum -ConfigurationPath $MofPath #Push the config to the server Publish-DscConfiguration -Verbose -ComputerName $ServerName -Path $mofpath -force Update-DscConfiguration -Verbose -ComputerName dscclient01 -wait } UpdateServerConfig -ServerName DSCCLIENT01
PS Version :
Name Value
PSVersion 5.0.10586.51
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
BuildVersion 10.0.10586.51
CLRVersion 4.0.30319.34209
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Is it a Bug in DSC or an error in my config ?
Thanks.