我创建了自定义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/

10-13 02:58