【发布时间】:2017-01-09 15:42:20
【问题描述】:
晚上好,我也在开发一个 C#,它旨在帮助用户控制服务器上的虚拟机。 现在我已经创建了创建和擦除这些 VM 快照的函数,并希望创建一个函数来列出 VM 的所有快照,包括视图选择的快照参数。与:
Invoke-Command -ComputerName ServerName -ScriptBlock { Get-VMSnapshot -VMName VMName |Select-Object}
我可以获得几乎所有请求的信息,但快照本身的总大小除外。
但是我可以用这个命令得到大小:
Invoke-Command -ComputerName ServerName -ScriptBlock {Get-VM -VMName VMName | gci -r -Filter *.avhd*| select @{Name="MB";Expression={$_.Length / 1Mb}}, *}
为了不将这两个结果放在一起,我将这两个结果的创建时间与最多 10 秒的容差进行了比较,并取了最接近的一个。 (我知道原始的),但现在它变得更加复杂。
如果我现在使用快照将 VM 设置为此状态,则文件创建时间会更改,因此我之前的方法完全停止工作。
为什么我想知道的是,有没有更好的方法来比较这两个结果,甚至更好的方法是在没有这种原始比较的情况下获得快照大小?
提前感谢您的帮助。
【问题讨论】:
标签: powershell snapshot hyper-v