0
晚上好,我正在开发一个C#,它应该可以帮助用户控制服务器上的虚拟机。 现在我已经创建了创建和清除这些虚拟机的快照的功能,并且希望创建一个函数来列出虚拟机的所有快照,包括视图选择的快照参数。附:通过Hyper-V中的Powershell获取大小到快照
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秒的宽容,把最接近的一个。 (原始我知道),但现在变得更加复杂。
如果我现在使用快照将虚拟机设置为此状态,则创建文件的时间会发生变化,因此我之前的方法将完全停止工作。
为什么我想知道的是,是否有更好的方法来比较这两个结果甚至更好,以获得没有这种原始比较的快照大小?
在此先感谢您的帮助。
第一个不起作用,因为快照的信息集不包含自己的大小,不知何故,Hyper-V的创建者似乎并不知道如果您必须使用任何种类的文件。 第二个可悲的是只返回虚拟机名称,'NumSnapshots'和'TotalSnapShotSizeMB'列保持空白,同样大小的一个屏幕截图将是我所需要的,所有快照的总大小可悲地不会帮助我那么多。 但是我一定会尝试和Measure-Object一起玩,这似乎是我的问题的一个潜在解决方案。 – Etaila
@Etaila:稍微调整一下第二个代码,然后你就可以选择。我现在没有可以选择的基础。我需要时间来建立一个。希望它有帮助然后 –
@Etaila:接受答案,如果它可以帮助你 –