scripts/misc/Set-OsParamValues.ps1
Function Set-OsParamValues { Param( [Parameter(Mandatory = $true)] [string] $ParameterFile, [string] $Parameter = 'DeploymentInfo' ) $ParameterFileJson = Get-Content $ParameterFile -Raw | ConvertFrom-Json $ParameterFileJson.parameters.$Parameter.value | Get-Member -MemberType NoteProperty | Select-Object -ExpandProperty Name | ForEach-Object { $ParameterFileJson.parameters | Add-Member -MemberType NoteProperty -Name $_ -Value (New-Object -TypeName pscustomobject) -Force $ParameterFileJson.parameters.$_ | Add-Member -MemberType NoteProperty -Name value -Value $ParameterFileJson.parameters.$parameter.value.$_ -Force } $ParameterFileJson.parameters = $ParameterFileJson.parameters | Select-Object -ExcludeProperty $Parameter $ParameterFileJson | ConvertTo-Json -Depth 100 | Out-File $ParameterFile -Force } |