我创建了自定义DSC模块,在DSC资源中只有两个值,其中之一是二维数组:
node ("localhost")
{
ChangeXML ChangeValue
{
NameFile=$PathToXml #Enter path to input xml
DownloadManagerCustomData =
@(
@{
Node = 'some path';
Value = 'some value'
}#end of hash array
@{
Node = 'some path';
Value = 'some value'
}#end of hash array
)#end of two dimensional array
}
}
然后创建ChangeXML.schema.mof,它描述变量。所以,我不知道如何写数组。你能帮助我吗?
[ClassVersion("1.0"), FriendlyName("ChangeXML")]
class ChangeXML : OMI_BaseResource
{
[Key] String NameFile;
[Write] *Array?* DownloadManagerCustomData;
};
最佳答案
[ClassVersion("1.0"), FriendlyName("ChangeXML")]
class ChangeXML : OMI_BaseResource
{
[Key] String NameFile;
[Write] EmbeddedInstance("MSFT_KeyValuePair")] String DownloadManagerCustomData[];
};
您还可以在PowerShell.org's DSC repo中使用
New-MofFile
函数。它可以为您生成MOF,并且效果很好(完整披露,我没有关联,但是我贡献了一点代码)。编辑
修复了上面的代码,只是意识到
New-MofFile
无法(当前)处理该问题,但是可以做到这一点,如果有机会,我可以为此目的对其进行修补。我还给出了您所显示的内容(一个哈希表数组)而不是您所说的内容(一个数组数组)的MOF语法。
关于powershell - 如何在Powershell DSC中正确写入参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26762169/