Сценарий Powershell для создания и удаления снимков

Я новичок в PowerShell, и я хочу создать скрипт для создания моментальных снимков всех работающих виртуальных машин и удаления моментальных снимков, которые имеют более чем 5 дней. У меня вот что:

$Time = 5 
$VMs = Get-VM | Where-Object {$._State –eq 'Running'}
foreach($VM in $VMs){
$Snapshots = Get-VMSnapshot $VM

foreach($Snapshot in $Snapshots){

    if ($snapshot.CreationTime.AddDays($Time)) {
        Remove-VMSnapshot $Snapshot

    } 
}

Checkpoint-VM $VM
}

Но не работает.

-1
задан 17 May 2016 в 23:01
1 ответ

Прочитав некоторые комментарии, я смог решить проблема, с которой я столкнулся. Сценарий будет выглядеть следующим образом:

$Days = 4 

$VMs = Get-VM | Where-Object {$_.State –eq 'Running'}
foreach($VM in $VMs){
$Snapshots = Get-VMSnapshot $VM

foreach($Snapshot in $Snapshots){

    if ($snapshot.CreationTime.AddDays($Days) -lt (get-date)) {
        Remove-VMSnapshot $Snapshot

    } 
}

Checkpoint-VM $VM
}

Обратите внимание, что я исправляю опечатку, а также добавляю часть (get-date), чтобы я мог сравнить время с моей переменной.

0
ответ дан 5 December 2019 в 20:29

Теги

Похожие вопросы