我有以下代码输出名称:
foreach ($comp in $maschines.name) { $comp }
但以下不起作用,为什么?
foreach ($comp in $maschines.name) { invoke-command -computer comp1 -ScriptBlock { get-vm –VMName $comp | Select-Object VMId | Get-VHD | ft path } }
尝试以下方法:
foreach ($comp in $maschines.name) { invoke-command -computer comp1 -ScriptBlock { get-vm –VMName $using:comp | Select-Object VMId | Get-VHD | ft path } }
将using:
添加到您的scriptblock中,以利用您要在另一台计算机上使用的本地变量。