[英]Get snapshot information of vm PowerCLI
我寫了一個小腳本,向我展示了有關虛擬機的一些信息。
$vsms = Get-VM
$erg = $vsms | Select-Object -Property @{N="VmName"; E={$_.Name}},
@{N="Power"; E={$_.PowerState}},
@{N="CustomTag1"; E={$_.CustomFields.Item("CustomTag1")}},
@{N="Customtag2"; E={$_.CustomFields.Item("Customtag2")}},
@{N="Customtag3"; E={$_.CustomFields.Item("Customtag3")}},
@{N="ProvisionedSpaceGB"; E={[math]::Round($_.ProvisionedSpaceGB)}}, `
@{N="UsedSpaceGB"; E={[math]::Round($_.UsedSpaceGB)}},
@{N="IP Address";E={@($_.guest.IPAddress[0])}}
$erg | Sort-Object VmName | Export-Csv $outputPath -NoType
我的問題是如何擴展此腳本以獲取有關還原點的信息(創建時間等)。 以及如何將結果導出為csv,以便每個虛擬機的所有創建時間和其他屬性都在一個單元格/行中? 結果應該像我已經做的那樣導出為csv。 它看起來應該像這樣:
VmName | SnapshotCreationTime| ... other properties
testvm | 19:17 01.02.18, 19:17 02.02.18,... | other properties
testvm2| 19:17 08.02.18, 19:17 02.03.18,... | other properties
不:
VmName | SnapshotCreationTime| other properties (already in script)
testvm | 19:17 01.02.18, | other properties
testvm | 19:17 02.02.18, | other properties
testvm | 19:17 03.02.18, | other properties
testvm2| 19:17 08.02.18, | other properties
testvm2| 19:17 09.02.18, | other properties
testvm2| 19:17 10.02.18, | other properties
您將在您的snapshotdate屬性中需要-Join
。
例:
(Get-VM "VMName" | Get-View) | %{
$Summary = "" | Select Name, HostName, State, NumCPU, MemoryMB, HDSizeKB, HDFreeSpaceKB, GuestOS, Datacenter, Folder, IP, SnapshotName, SnapshotDate
$Summary.Name = $_.Summary.Config.Name
$summary.HostName = $_.Summary.Guest.HostName
$Summary.State = $_.Summary.Runtime.PowerState
$Summary.NumCPU = $_.Summary.Config.NumCPU
$Summary.MemoryMB = $_.Summary.Config.MemorySizeMB
$Summary.HDSizeKB = $_.Guest.Disk.Capacity/1KB
$Summary.HDFreeSpaceKB = $_.Guest.Disk.FreeSpace/1KB
$Summary.GuestOS = $_.Summary.Config.GuestFullName
$Summary.Folder = $_.Folder.Name
$Summary.IP = $_.Summary.Guest.IPAddress
$Summary.SnapshotName = &{$script:snaps = Get-Snapshot -VM $Summary.Name; $script:snaps.Name -join ','}
$Summary.snapshotdate = $script:snaps.Created -join ','
$Summary
}| Export-Csv C:\setup\Tezt.csv -NoTypeInformation -Encoding UTF8 -Delimiter "|"
您得到的輸出如下:
"Name"|"HostName"|"State"|"NumCPU"|"MemoryMB"|"HDSizeKB"|"HDFreeSpaceKB"|"GuestOS"|"Datacenter"|"Folder"|"IP"|"SnapshotName"|"SnapshotDate"
"VMName"||"poweredOff"|"2"|"4096"|"0"|"0"|"Microsoft Windows Server 2008 (64-bit)"||||"Test Snap 00,Test snap 01"|"12/07/18 11:15:42 AM,12/07/18 11:16:04 AM"
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.