none
Удаление теневых копий RRS feed

  • Вопрос

  • Всем привет.

    $copy = (Get-CimInstance -class Win32_ShadowCopy).ID | Where -Property InstallDate -lt (get-date).AddDays(-1) 
    vssadmin delete shadows /Shadow=$copy

    vsadmin не принимает переменную $Copy, как заставить читать список?

    26 сентября 2020 г. 7:37

Ответы

  • vssadmin - это обычная команда (исполняемый файл), который принимает в качестве параметра для ключа Shadow конкретное значение идентификатора теневой копии. Поэтому, когда переменная $copy содержит массив, он ее не принимает. Поэтому цикл перебора элементов этого массива надо организовывать самостоятельно. А ещё, если нет ни одной теневой копии, то $copy будет $null, и в этом случае цикл вызывать не надо

    Поэтому вместо второй строчки надо написать что-то вроде

    if($copy -ne $null) {foreach ($c in $copy) {vssadmin delete shadows /Shadow=$c} }


    Слава России!

    • Помечено в качестве ответа Pokesh 27 сентября 2020 г. 7:13
    26 сентября 2020 г. 15:33