Files
Merge-DSCConfigurationData/Private/Copy-ConfigurationDataValue.ps1
Torsten Brendgen e10ab48bb4 Creating Module
2026-04-21 13:02:51 +02:00

38 lines
894 B
PowerShell

function Copy-ConfigurationDataValue {
[CmdletBinding()]
Param(
[AllowNull()]
$Value
)
if($null -eq $Value){
return $null
}
if($Value -is [System.Collections.Specialized.OrderedDictionary]){
$Copy = [ordered]@{}
foreach($Entry in $Value.GetEnumerator()){
$Copy[$Entry.Name] = Copy-ConfigurationDataValue -Value $Entry.Value
}
return $Copy
}
if($Value -is [System.Collections.Hashtable]){
$Copy = @{}
foreach($Entry in $Value.GetEnumerator()){
$Copy[$Entry.Name] = Copy-ConfigurationDataValue -Value $Entry.Value
}
return $Copy
}
if($Value -is [System.Array]){
$Copy = @()
foreach($Item in $Value){
$Copy += ,(Copy-ConfigurationDataValue -Value $Item)
}
return ,$Copy
}
return $Value
}