我目前正在用C#编写一个程序,它可以自动控制存储在中央服务器上的虚拟机。在片刻我正在开发一个函数来创建“快照”,虚拟机的图像,可以将虚拟机重置为。
问题是,我需要知道VM的大小(或者它所占用的空间),但是使用Powershell时,这不会像我用于其他操作那样工作。
我现在已经创建了这个Powershell命令来获取VM的大小:
Invoke-Command -ComputerName Jack -ScriptBlock {Get-VM -VMName Sisi | gci -r -Filter *.avhd*| select name, @{Name="MB";Expression={$_.Length / 1Mb}}
但我仍然可以获得从被叫VM制作的所有图像的列表。 我希望像以前那样使用快照本身的信息来获取信息。
Invoke-Command -ComputerName Jack -ScriptBlock {Get-VMSnapshot –VMName Sisi -Name Attemt |Select-Object -Property CreationTime, Name}
有没有办法让名字和创作时间与快照的大小一致?
提前感谢您的答案。
编辑:
我刚刚发现我可以添加, CreationTime
,似乎我第一次拼错了它,但仍然无法直接访问快照的名称,我不知道任何解决方法。
编辑: Image和Imagefile的创建时间相差一个视图秒,这使得使用Creation time来查找Snapshot快照文件非常无效,因此从Snapshotfile中获取Snapshot本身的名称更为重要而且我还是不知道怎么做。