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:接受答案,如果它可以幫助你 –