我正在尝试使用变量为-Property
定义参数,但似乎无法获得我想要的输出。我试过将变量设置为标准变量,并尝试对命令的所有参数进行全面检查,以查看其是否奏效。
尝试1:
$ComparisonProperties = @{ReferenceObject=$State; DifferenceObject=$Snapshot; property = "name, startmode"}
Compare-Object @ComparisonProperties
尝试2:
$ComparisonProperties = @{property = "name, startmode"}
Compare-Object -ReferenceObject ($State) -DifferenceObject ($Snapshot) -Property @ComparisonProperties
尝试3:
$ComparisonProperties = "Name, startmode"
Compare-Object -ReferenceObject ($State) -DifferenceObject ($Snapshot) -Property $ComparisonProperties
由于未检测到$ComparisonProperties
中的值,因此它们都不起作用。如果我运行以下命令,它将按预期工作:
Compare-Object -ReferenceObject ($State) -DifferenceObject ($Snapshot) -Property name, startmode
这样做的原因是$ComparisonProperties
由处于循环状态的开关设置。
如何使用PowerShell中的变量将多个值传递给命令参数?