Update module version to 1.1.0 and enhance Merge-DSCConfigurationData function to prevent modifications to sealed parameters

This commit is contained in:
Torsten Brendgen
2026-07-07 21:50:47 +02:00
parent edf7c8ad34
commit 793c4acddd
4 changed files with 85 additions and 4 deletions

View File

@@ -347,4 +347,63 @@ Describe 'Merge-DSCConfigurationData Extends' {
$Validation.IsStale | Should Be $true
@($Validation.Issues | Where-Object { $_.Code -eq 'SourceChanged' }).Count | Should Be 1
}
It 'prevents overriding a sealed parameter definition' {
$Template = @{
Parameters = @{
DomainNetBIOS = @{
Type = 'string'
Value = 'CONTOSO'
Sealed = $true
}
}
}
$Deployment = @{
Parameters = @{
DomainNetBIOS = @{
Value = 'OTHER'
}
}
}
{ Merge-DSCConfigurationData -Template $Template -Deployment $Deployment } | Should Throw
}
It 'prevents adding values below a sealed resource tree' {
$Template = @{
Resources = @{
NonNodeData = @{
Services = @{
SharePoint = @{
Farm = @{
ManagedAccounts = @{
Sealed = $true
FarmAccount = "[parameters('FarmCredential')]"
}
}
}
}
}
}
}
$Deployment = @{
Resources = @{
NonNodeData = @{
Services = @{
SharePoint = @{
Farm = @{
ManagedAccounts = @{
SearchAccount = "[parameters('SearchCredential')]"
}
}
}
}
}
}
}
{ Merge-DSCConfigurationData -Template $Template -Deployment $Deployment } | Should Throw
}
}