我们有多个由 vCenter 管理的 ESXi 服务器;有没有办法获得所有虚拟机中所有快照的列表?
eww*_*ite 16
Grrr... VMware 快照。如果我按照我的方式,它们将仅用于备份目的和测试更改。
您可以使用 vSphere 客户端集群级别的“存储视图”选项卡查看快照占用的空间(这可能是您真正想知道的)。
从那里开始,然后深入到各个 VM。具有字节 (B) 值的条目本质上意味着没有快照。
Hop*_*00b 12
听起来像是 PowerCLI 的工作!好吧,无论如何,这就是我拥有的 Windows 工作站。
Surly Admin 的博客甚至有一个脚本,您可以通过复制粘贴来获取环境中所有 VM 的所有快照,为了您的方便,我将在下面发布其中的内容。
$Report = Get-VM | Get-Snapshot | Select VM,Name,Description,@{Label="Size";Expression={"{0:N2} GB" -f ($_.SizeGB)}},Created
If (-not $Report)
{ $Report = New-Object PSObject -Property @{
VM = "No snapshots found on any VM's controlled by $VIServer"
Name = ""
Description = ""
Size = ""
Created = ""
}
}
$Report = $Report | Select VM,Name,Description,Size,Created | ConvertTo-Html -Head $Header -PreContent "<p><h2>Snapshot Report - $VIServer</h2></p><br>" | Set-AlternatingRows -CSSEvenClass even -CSSOddClass odd
Run Code Online (Sandbox Code Playgroud)
HopelessNoob 的回答非常适合人类可读的报告。有时我更喜欢将我的解析为其他 PS 对象。它也与 HopelessNoob 非常相似 - 我想我们都从相同的代码片段开始构建我们的脚本:
$VIServer = "vsphere.ad.example.com"
If (-not (Get-PSSnapin VMware.VimAutomation.Core))
{ Try { Add-PSSnapin VMware.VimAutomation.Core -ErrorAction Stop }
Catch { Write-Host "Unable to load PowerCLI, is it installed?" -ForegroundColor Red; Break }
}
Connect-VIServer $VIServer -Credential (Get-Credential) | Out-Null
Get-VM | Get-Snapshot | Select VM,Name,Description,@{Label="Size";Expression={"{0:N2} GB" -f ($_.SizeGB)}},Created | FT
Run Code Online (Sandbox Code Playgroud)
给出:
VM Name Description Size Created
-- ---- ----------- ---- -------
ENETSXS2 VEEAM BACKUP TEMPORARY SNAPSHOT Please do not delete this sn... 19.28 GB 8/11/2014 8:42:18 AM
ENETSDFS-BS VEEAM BACKUP TEMPORARY SNAPSHOT Please do not delete this sn... 16.30 GB 8/11/2014 5:24:44 AM
Run Code Online (Sandbox Code Playgroud)
然后,您可以将其通过管道传输Remove-Snapshot或过滤或其他任何内容。
小智 5
这是我们用来转储所有具有快照的 VM 列表的脚本,在 PowerCLI 中工作。它非常简单和干净。它将通过 .csv 文件将结果转储到您的本地桌面。
# Possible "Select-Object -Property" variables: Description, Created, Quiesced, PowerState, VM, VMId, Parent, ParentSnapshotId, ParentSnapshot, Children, SizeMB, SizeGB, IsCurrent, IsReplaySupported, ExtensionData, Id, Name, Uid, Client
get-vm | get-snapshot | Select-Object -Property vm,created,sizeGB,name,description | Export-Csv -Path C:\Users\$env:username\Desktop\snapshots.csv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136403 次 |
| 最近记录: |