Как давно выключена эта виртуалка?

Набросал небольшой скриптец для VMware ESXi, чтобы проверять как давно менялось состояние виртуальных машин. При запуске он заполняет кастомное поле «Power» состоянием и датой, когда это состояние было обнаружено. Кинув в шедулер можно с некоторой точностью понимать, что вот эту виртуалку выключили только вчера, а вот та — выключена уже пару лет (конечно после того как этот скрипт пару лет проверял ее состояние =). Скрипт использует VMware PowerCLI

check-vm-powerstate.ps1
 
Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer -Server localhost
Get-VM  | ForEach-Object { 
                        $vm = $_
                        $date = (Get-Date -UFormat "%Y-%m-%d  %R").ToString()
                        $AnnotationStatus =  (Get-Annotation $_ | Where-Object { $_.Name -eq "Power"}).Value
                        
                        if ( ($_.PowerState -eq 'PoweredOn') -and ($AnnotationStatus -like 'Down*') ) {
                            $vm | Set-Annotation -CustomAttribute "Power" -Value "Up since $date" 
                        }
                        if ( ($_.PowerState -eq 'PoweredOn') -and ($AnnotationStatus -eq '') ) {
                            $vm | Set-Annotation -CustomAttribute "Power" -Value "Up since  < $date" 
                        }
                        if ( ($_.PowerState -eq 'PoweredOff') -and ($AnnotationStatus -like 'Up*') ) {
                            $vm | Set-Annotation -CustomAttribute "Power" -Value "Down since $date" 
                        }
                        if ( ($_.PowerState -eq 'PoweredOff') -and ($AnnotationStatus -eq '') ) {
                            $vm | Set-Annotation -CustomAttribute "Power" -Value "Down since < $date" 
                        }
                    }
Поделиться:
Метки: , , , . Закладка Постоянная ссылка.
0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments