Today I ran into the following issue.
I was creating a DSC Configuration with a foreach loop for creating 2 windows clusters with sql installations.
In this configuration I accidentally called the xCluster resource with the same properties twice, and included a DependsOn for the prerequisites.
The MOF Files generated correctly, but when running the config I ran into the following error:
The WS-Management service cannot process the request. The WMI service or the WMI provider returned an unknown error: HRESULT 0x800410
33
+ CategoryInfo : ResourceUnavailable: (root/Microsoft/…gurationManager:String) , CimException
+ FullyQualifiedErrorId : HRESULT 0x80041033
+ PSComputerName : *******
When I started debugging, I quickly found my double entry and this fixed the problem. However I wanted to know where the issue came from.
I noticed that when I did a double config without a Dependson, everything works!
example:
Configuration FileTest
{
Import-DscResource -Module PSDesiredStateConfiguration
Node $AllNodes.NodeName
{
LocalConfigurationManager
{
DebugMode = 'All'
ActionAfterReboot = 'StopConfiguration'
ConfigurationMode = 'ApplyOnly'
RebootNodeIfNeeded = $true
}
File File1
{
Type = 'Directory'
DestinationPath = 'C:\Temp'
Ensure = 'Present'
Force = $true
}
File File2
{
Type = 'Directory'
DestinationPath = 'C:\Temp'
Ensure = 'Present'
Force = $true
}
}
}
Then I added a secondary resource, and added the DependsOn property for the File resource, that is when the error started again.
example of failing script:
Configuration FileTest
{
Import-DscResource -Module PSDesiredStateConfiguration
Import-DscResource -Module xFailoverCluster
Node $AllNodes.NodeName
{
# Set LCM to reboot if needed
LocalConfigurationManager
{
DebugMode = 'All'
ActionAfterReboot = 'StopConfiguration'
ConfigurationMode = 'ApplyOnly'
RebootNodeIfNeeded = $true
}
File File1
{
Type = 'Directory'
DestinationPath = 'C:\Temp'
Ensure = 'Present'
Force = $true
}
xCluster Instance1
{
Name = 'Cluster'
StaticIPAddress = '192.168.10.15'
DomainAdministratorCredential = $Node.DomainAdministratorCredential
DependsOn = '[File]File1'
}
File File2
{
Type = 'Directory'
DestinationPath = 'C:\Temp'
Ensure = 'Present'
Force = $true
}
xCluster Instance2
{
Name = 'Cluster'
StaticIPAddress = '192.168.10.15'
DomainAdministratorCredential = $Node.InstallerServiceAccount
DependsOn = '[File]File2'
}
}
}
It seems that PSDSC does not have problems with double entries, as long as it does not include a dependson. Even though it was a mistake in my configuration to have a ‘double’ entry, it still feels like a bug.
FYI: I tested this on the following powershell versions.
WMF5 - Windows 10 RTM
WMF5 - April Preview 2015
WMF5 - Production Preview