如何计算 PowerShell 中的 Veeam 还原点
How to Count Veeam Restore Points in PowerShell
我写了一个小脚本来获取最近x天每个还原点的创建时间:
$VMs = $ImportCSV # Names of Virtual Machines
$DateToCompare = 10
foreach ($vm in $VMs) {
$allRestorePoints = Get-VBRRestorePoint -Name $vm.Name |
where {$_.CreationTime -gt $DateToCompare} |
Select-Object VMName, CreationTime
}
此脚本向我显示了过去 $DateToCompare
天内的所有 VM 名称和还原点的创建时间。但是如何计算每个 VM 的还原点并将其导出到 CSV?
使用您发布的代码,变量 $allRestorePoints
中将只有 $VMs
中最后一个 VM 的还原点。
要获取所有 VM 的还原点计数,请枚举所有 VM 的所有还原点并按 VM 名称分组:
$restorePoints = $VMs | ForEach-Object {
Get-VBRRestorePoint -Name $_.Name |
Where-Object { $_.CreationTime -gt $DateToCompare }
} | Select-Object VMName, CreationTime
$restorePoints |
Group-Object VMName |
Select-Object Name, Count |
Export-Csv 'C:\output.csv' -NoType
我写了一个小脚本来获取最近x天每个还原点的创建时间:
$VMs = $ImportCSV # Names of Virtual Machines
$DateToCompare = 10
foreach ($vm in $VMs) {
$allRestorePoints = Get-VBRRestorePoint -Name $vm.Name |
where {$_.CreationTime -gt $DateToCompare} |
Select-Object VMName, CreationTime
}
此脚本向我显示了过去 $DateToCompare
天内的所有 VM 名称和还原点的创建时间。但是如何计算每个 VM 的还原点并将其导出到 CSV?
使用您发布的代码,变量 $allRestorePoints
中将只有 $VMs
中最后一个 VM 的还原点。
要获取所有 VM 的还原点计数,请枚举所有 VM 的所有还原点并按 VM 名称分组:
$restorePoints = $VMs | ForEach-Object {
Get-VBRRestorePoint -Name $_.Name |
Where-Object { $_.CreationTime -gt $DateToCompare }
} | Select-Object VMName, CreationTime
$restorePoints |
Group-Object VMName |
Select-Object Name, Count |
Export-Csv 'C:\output.csv' -NoType