Powershell foreach - 变量不起作用

时间:2015-09-18 15:23:37

标签: powershell foreach

我的miniScript不起作用......为什么?:

Get-VM | select name | ? { $_.Name -like "*411D*" } -OutVariable VmWareName
$VmWareName |foreach {
     Restore-VMSnapshot -Name * -VMName $_ -Confirm:$false
}

抱歉,不能英文

1 个答案:

答案 0 :(得分:0)

问题是您输出的对象具有一个属性:名称

你想要的是一个字符串,其中包含Name属性的值。你有2个选择。请在循环中引用对象的Name属性,如下所示:

     Restore-VMSnapshot -Name * -VMName $_.Name -Confirm:$false

或者在将Name属性保存到变量时展开它:

Get-VM | select -Expandproperty name | ? { $_ -like "*411D*" } -OutVariable VmWareName