私に許してくださいますが、このための正しい用語は分かりません。ハッシュテーブルにキー/値のペアを追加する(配列内にネストされ、ハッシュテーブルにネストされています)
次ハッシュテーブルと仮定すると:私は行うことができます
$ConfigurationData = @{
AllNodes = @(
@{
NodeName="*"
PSDscAllowPlainTextPassword=$True
PsDscAllowDomainUser=$True
NewItem = "SomeNewValue"
AnotherNewItem = "Hello"
}
)
}
:
$ConfigurationData.AllNodes += @{NewItem = "SomeNewValue"}
$ConfigurationData.AllNodes += @{AnotherNewItem = "Hello"}
そして$ConfgurationData.AllNodes
ルックスをしてどのように私はそれがこのように見えるようです
$ConfigurationData = @{
AllNodes = @(
@{
NodeName="*"
PSDscAllowPlainTextPassword=$True
PsDscAllowDomainUser=$True
}
)
}
を右:
$ConfigurationData.AllNodes
Name Value
---- -----
NodeName *
PSDscAllowPlainTextPassword True
PsDscAllowDomainUser True
NewItem SomeNewValue
AnotherNewItem Hello
しかし、JSONに変換することは別の話告げる:
$ConfigurationData | ConvertTo-Json
{
"AllNodes": [
{
"NodeName": "*",
"PSDscAllowPlainTextPassword": true,
"PsDscAllowDomainUser": true
},
{
"NewItem": "SomeNewValue"
},
{
"AnotherNewItem": "Hello"
}
]
}
NewItem
とAnotherNewItem
は独自のハッシュテーブルにあるといない最初のもので、これはDSCがグラグラを投げるために発生します
ValidateUpdate-ConfigurationData : all elements of AllNodes need to be hashtable and has a property NodeName.
私はfolloを行うことができます
$ConfigurationData.AllNodes.GetEnumerator() += @{"NewItem" = "SomeNewValue"}
は、同様のがあります:私も試したとして失敗しました$ConfigurationData.AllNodes += @{NewItem = "SomeNewValue"}
のようなラインに比べ
$ConfigurationData = @{
AllNodes = @(
@{
NodeName="*"
PSDscAllowPlainTextPassword=$True
PsDscAllowDomainUser=$True
}
)
}
#$ConfigurationData.AllNodes += @{NewItem = "SomeNewValue"}
#$ConfigurationData.AllNodes += @{AnotherNewItem = "Hello"}
foreach($Node in $ConfigurationData.AllNodes.GetEnumerator() | Where-Object{$_.NodeName -eq "*"})
{
$node.add("NewItem", "SomeNewValue")
$node.add("AnotherNewItem", "Hello")
}
$ConfigurationData | ConvertTo-Json
{
"AllNodes": [
{
"NodeName": "*",
"PSDscAllowPlainTextPassword": true,
"NewItem": "SomeNewValue",
"AnotherNewItem": "Hello",
"PsDscAllowDomainUser": true
}
]
}
しかし、これはやり過ぎと思われる、:私は右の結果を与える翼正しい "要素"をターゲットにする方法は?
ありがとうございます。とても簡単。なぜ私はそれを考えなかったのですか? Dscのコンパイルも楽しいです。 – woter324