AL/Set-EnvironmentKeyValue.ps1
function Set-EnvironmentKeyValue { Param( [Parameter(Mandatory=$false)] [string]$SourcePath = (Get-Location), [Parameter(Mandatory=$true)] [string]$KeyName, [Parameter(Mandatory=$true)] [string]$KeyValue ) if (Test-Path (Join-Path $SourcePath 'environment.json')) { $JsonContent = Get-Content (Join-Path $SourcePath 'environment.json') -Raw $Json = ConvertFrom-Json $JsonContent $Json.PSObject.Properties.Item($KeyName).Value = $KeyValue $JsonContent = ConvertTo-Json $Json Set-Content -Path (Join-Path $SourcePath 'environment.json') -Value $JsonContent } else { $JsonContent = '"{0}": "{1}"' -f $KeyName, $KeyValue $JsonContent = '{' + [Environment]::NewLine + $JsonContent + [Environment]::NewLine + '}' Add-Content (Join-Path $SourcePath 'environment.json') -Value $JsonContent } } |