Я создал сценарий, который создает новый снимок на виртуальной машине, а затем удаляет все, кроме 6 новейших снимков, на этой виртуальной машине. Я хочу найти способ проверить мой скрипт на наличие ошибок и подтвердить, что все работает нормально, но я никогда раньше не использовал try/catch в Powershell, и мне было любопытно, может ли кто-нибудь помочь мне с тем, что я делаю неправильно:
$server = $args[0]
$date = get-date
try{
new-snapshot -vm $server -name "Auto Created via Powershell" -description $date
}
catch{
[system.exception]
"Not finding"}
get-snapshot -vm $server | sort -property created -desc | select -skip 6 | foreach-object{remove-snapshot $_ -confirm:$false}
if (get-snapshot -vm $server | select -first 6){
write-host "script is keeping current 6 as expected"
}
Первая часть моего кода, где я создаю новый снимок, работает нормально, проблема заключается во второй части, где я хочу подтвердить, что все, кроме 6 новейших снимков, были удалены. На данный момент я пытаюсь использовать оператор if для подтверждения, однако я не получаю никаких результатов от своего оператора if. Несмотря на это, мне было любопытно, есть ли лучший способ выполнить вторую часть моего сценария для подтверждения, а не использовать оператор if для подтверждения того, что сценарий сохраняет текущие 6 новейших снимков.
Спасибо!