Class 在基于类的DSC资源中使用[array]

Class 在基于类的DSC资源中使用[array],class,powershell,dsc,Class,Powershell,Dsc,我一直在创建一些基于类的自定义DSC资源,并遇到以下问题: 每当我尝试使用数组作为资源的输入时,都会出现一个错误 比如说 DscProperty(Mandatory)] [array]$Products 当我尝试使用我的资源创建MOF文件时,将导致以下错误: 写入NodeOffile:节点“nodename”的MOF定义无效: 使用“1”参数调用“ValidateInstanceText”的例外情况: “将属性“Products”值从类型“STRING[]”转换为类型“INSTANCE”失败

我一直在创建一些基于类的自定义DSC资源,并遇到以下问题:

每当我尝试使用数组作为资源的输入时,都会出现一个错误

比如说

DscProperty(Mandatory)]
[array]$Products
当我尝试使用我的资源创建MOF文件时,将导致以下错误:

写入NodeOffile:节点“nodename”的MOF定义无效:
使用“1”参数调用“ValidateInstanceText”的例外情况:
“将属性“Products”值从类型“STRING[]”转换为类型“INSTANCE”失败

$Products
的输入对象将是(例如):

老实说,我不知道为什么
Write NodeMOFFile
函数会尝试转换数组(它不需要转换,对吗?),即使它需要转换,为什么它会将数组从
字符串[]
转换为
实例

有人知道为什么会这样吗?
我让它工作的唯一方法是从我的字符串数组中创建一个长字符串,然后在资源中分离它们。

像这样声明数组:

[string[]]$product="ddd","dq","dqq"

谢谢萨夫塔格里!这就成功了!
[string[]]$product="ddd","dq","dqq"