【发布时间】:2017-05-03 09:52:12
【问题描述】:
我是 PowerShell/PowerCLI 新手,现在我正在学习它是为了工作。我创建了一个简单的几行代码来列出所有快照并使用 out-gridview 在另一个弹出窗口中列出它,选择一个或多个快照并单击“确定”将让我删除选定的快照并且它可以正常工作.
#List snapshot
$snapshot = Get-VM | Get-Snapshot | Out-GridView -Title "Snapshot Viewer" -OutputMode Multiple
#remove selected VM's snapshot
$snapshot | foreach { Remove-Snapshot $_ }
因为默认Get-Snapshot 只显示快照名称、描述和电源状态,所以我添加了一个计数器、VM 名称、快照大小(GB)和快照年龄。
$counter = 1
#List snapshot with more information
$snapshot = Get-VM | Get-Snapshot |
Select-Object @{Name="ID";Expression={$global:counter;$global:counter++}},
VM, Name, @{Name="SizeGB";Expression={[math]::Round($_.sizeGB,2)}},
@{Name="Days";Expression={(New-TimeSpan -End (Get-Date) -Start $_.Created).Days}} |
Out-GridView -Title "Snapshot Viewer" -OutputMode Multiple
#remove selected VM's snapshot
$snapshot | foreach { Remove-Snapshot $_ }
现在$_ 似乎为Remove-Snapshot 返回了错误的参数并出现错误:
感谢是否有人可以指导我如何解决此错误,以传递正确的参数。
【问题讨论】:
标签: powershell vmware powercli