Я просто пытаюсь нормализовать значения в файле json, которые позже в конвейере будут использоваться в качестве файла параметров для шаблона ARM.
Я попытался использовать параметр "-Replace", иМетод ".Replace" посредством индивидуальных вызовов для каждой замены, а также посредством цепного вызова для всех замен.Результаты всегда одинаковы, и они НЕ соответствуют ожиданиям.
Следующий код ...
$TestFile = Get-Content -Path $ParameterPath -Raw
Write-Host "Replacing $($GeoTag) with $($GeographicTag)"
$TestFile = $TestFile.Replace($GeoTag, $GeographicTag)
Write-Host "Replacing $($RegionName01) with $($PrimaryRegion)"
$TestFile = $TestFile.Replace($RegionName01, $PrimaryRegion)
Write-Host "Replacing $($RegionName02) with $($SecondaryRegion)"
$TestFile = $TestFile.Replace($RegionName02, $SecondaryRegion)
Write-Host "Replacing $($AzLocation01) with $($PrimaryLocation)"
$TestFile = $TestFile.Replace($AzLocation01, $PrimaryLocation)
Write-Host "Replacing $($AzLocation02) with $($SecondaryLocation)"
$TestFile = $TestFile.Replace($AzLocation02, $SecondaryLocation)
Set-Content -Path $ParameterPath -Value $TestFile -NoNewLine
Создает следующий ожидаемый результат в консоли...
Replacing aS with AS
Replacing eaST with East
Replacing SouthEast with Southeast
Replacing EAST AsIa with eastasia
Replacing SoutH EAST AsIa with southeastasia
Но тогда следующее не ожидается приведет к файлу ...
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"geoTag": {
"value": "AS"
},
"regionName01": {
"value": "eAST"
},
"regionName02": {
"value": "Southeast"
},
"azLocation01": {
"value": "eastasia"
},
"azLocation02": {
"value": "SoutH eastasia"
}
}
}
Почему «eaST» заменяется на «eAST»«вместо« Восток »в файле?
Почему вместо« Юго-Восточная Азия »в файле вместо« Юго-Восточная Азия »вместо« Юго-Восточная Азия »?
Мы знаем дляфакт, что переменные PowerShell содержат правильные значения, но по неизвестной мне причине замена происходит странным образом, и мы не получаем ожидаемые значения в файле json.