我想替换我的参数文件,只给参数加上powershell。我的参数文件如下所示:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subnets": {
"value": {
"settings": [
{
"name": "firstSubnet",
"addressPrefix": "10.0.0.0/24"
},
{
"name": "secondSubnet",
"addressPrefix": "10.0.1.0/24"
}
]
}
}
}
}
我尝试使用以下方法覆盖
:-subnets {"settings":[{"name": "firstSubnet","addressPrefix": "10.0.0.0/24"},{"name": "secondSubnet","addressPrefix": "10.0.1.0/24"]}}
但是我一直在出错。将哈希表用作参数的正确语法是什么?
答案 0 :(得分:1)
您的示例不是哈希表。这只是一个未引用的JSON字符串。
哈希表在PowerShell中定义为
@{}
和数组是
@()
因此,您将考虑构建如下所示的内容:
-subnets @{
settings = @(
@{
name = 'foo'
address = 'bar'
}
)
}
以此类推。
您可以使用ConvertFrom-Json
和ConvertTo-Json
在JSON与PowerShell哈希表和数组之间进行转换。