Ale*_*der 2 powershell hashtable
我正在运行以下 PowerShell 代码,我需要保持原始哈希表键的顺序。
function New-GetServiceConnectionTask( $serviceConnectionId)
{
@{
environment = @{ }
taskId = '0a9fdc5e-3f3a-4d3d-9f63-a4f007f9a1fe'
version = "1.*"
name = 'Get Service Endpoint Credentials'
refName = ''
enabled = $true
alwaysRun = $false
continueOnError = $false
timeoutInMinutes = 0
definitionType = 'task'
overrideInputs = @{ }
condition = 'succeeded()'
inputs = @{
connectedServiceNameARM = $serviceConnectionId
}
}
}
New-GetServiceConnectionTask xxx | ConvertTo-Json -Depth 99
Run Code Online (Sandbox Code Playgroud)
函数返回
{
"version": "1.*",
"refName": "",
"definitionType": "task",
"overrideInputs": {},
"name": "Get Service Endpoint Credentials",
"environment": {},
"inputs": {
"connectedServiceNameARM": "xxx"
},
"timeoutInMinutes": 0,
"taskId": "0a9fdc5e-3f3a-4d3d-9f63-a4f007f9a1fe",
"enabled": true,
"condition": "succeeded()",
"continueOnError": false,
"alwaysRun": false
}
Run Code Online (Sandbox Code Playgroud)
是否有任何选项可以保持原始哈希表键的顺序?
小智 8
您可以通过在 @ 符号前面包含 [ordered] 来创建有序散列,如下所示:
[ordered]@{
environment = @{ }
taskId = '0a9fdc5e-3f3a-4d3d-9f63-a4f007f9a1fe'
version = "1.*"
name = 'Get Service Endpoint Credentials'
refName = ''
enabled = $true
alwaysRun = $false
continueOnError = $false
timeoutInMinutes = 0
definitionType = 'task'
overrideInputs = @{ }
condition = 'succeeded()'
inputs = @{
connectedServiceNameARM = $serviceConnectionId
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
684 次 |
| 最近记录: |