我需要将一个属性(包含点)作为参数传递给我的PowerShell脚本。我想使用此脚本替换JSON文件中的现有属性值。
尝试使用customobject,循环,使用点分割。
Param(
[Parameter(Mandatory=$false)][string]$logFolder = "C:\Test",
[string]$jsonAttribute = "Data.DefaultConnection.ConnectionString",
[string]$jsonvalue = "new value"
)
$AppConfig = "$logFolder\*\appsettings.PRODUCTION.json" -f $PSScriptRoot, $global:LatestBuild
$appsettings = Get-Content $AppConfig -Raw | ConvertFrom-Json
$appsettings | ConvertTo-Json | Set-Content $AppConfig -Force
$pathToJson = "$logFolder\*\appsettings.PRODUCTION.json"
$data.Data.DefaultConnection.ConnectionString = $jsonvalue
$data | ConvertTo-Json | Set-Content $pathToJson