Как включить теневое копирование тома на определенном диске (D :, E:, ...) и настроить расписание с помощью Powershell?
Мне просто нужно несколько советов, как начать.
powershell
vss
Primoz
источник
источник
Ответы:
Вы можете создать теневую копию на определенном диске, используя объект WMI, как это описано в статье Microsoft .
Включить теневое копирование тома на конкретном диске (D :, E:, ...) - это две вещи
источник
Мне потребовалось немного времени, чтобы заставить это работать (после обнаружения простой ошибки, приводящей к сбою), и функция не завершена. Я хочу добавить возможность включить его на удаленном компьютере, что, вероятно, должно быть выполнено с помощью задачи, которая запускается один раз. Если кто-нибудь изменит это и добавит, дайте мне знать!
Несмотря на то, что это работает и имитирует то, что происходит, когда вы делаете это через графический интерфейс, оно все равно отображается как отключенное для этого диска. Но если вы включите его, ничего не изменится! (LOL) Я предполагаю, что есть кое-что, что также должно быть изменено в реестре.
источник
После целой кучи возни с этим он заработал немного по-другому (похоже, он правильно отображается через графический интерфейс).
Подсказки на эту страницу для небольшой помощи: https://social.technet.microsoft.com/forums/windowsserver/en-US/fb69840d-5f52-4711-8168-2faa23088233/shadow-copy-schedule-per-script
Недостатком использования schtasks (что использует эта страница) является то, что, насколько я вижу, у вас не может быть нескольких триггеров.
Кроме того, из-за того, как я устраняю неполадки в решении (использовал bindiff работающего / не работающего xml), я не совсем уверен, что флаги, которые я использую, являются оптимальными.
источник
Проще говоря, это использование schtasks, отображаемых в пользовательском интерфейсе, совместимых с PowerShell 2. Разработанный для стандартной сборки, может потребоваться поиграться с $ volumeinfo [x] при создании $ taskrun, чтобы найти подходящий том.
Можно соответствующим образом настроить следующие аргументы:
ПРИМЕЧАНИЕ. Параметр / TR ТРЕБУЕТ места в конце, если его там нет, он заменяет окончательный обратный слеш двойной кавычкой, в результате чего пользовательский интерфейс VSS не распознает задачу.
источник
Это то, что я использую в PowerShell . Это ссылка на мой сайт, но она выглядит намного лучше, чем здесь.
источник
Теневое копирование фактически включается созданием задач, которые вызывают vssadmin.exe.
PowerShell 3.0 имеет командлеты, которые позволяют создавать задачи, но они зависят от системных вызовов, которые не были реализованы до Windows 8 / Windows Server 2012. Для этого в PowerShell необходимы следующие три командлета:
В более ранних версиях Windows вы будете ограничены в использовании schtasks.exe.
Тем не менее, - и именно в этом этот ответ отличается от других - создание задачи «Теневое копирование» этими способами является неправильным способом выполнения действий, поскольку любые внесенные вами изменения не будут отображаться в графическом интерфейсе. Таким образом, ненаблюдающий пользователь может не знать о том, что теневое копирование включено, что приводит к тому, что он разрешает второй его экземпляр, или, что еще хуже, перезаписывает вашу задачу (если вы следовали соглашениям об именах Windows (VolumeShadowCopy {$ GUID})).
Что вам нужно сделать, это создать его с помощью графического интерфейса пользователя (желательно на Win7 / Win2008, поскольку более новые версии Windows по умолчанию используют taskxml 1.2 вместо более совместимого taskxml 1.1), экспортировать задачу как XML с помощью schtasks, программно редактировать этот XML сохраните этот XML как UTF16 и импортируйте его. К счастью, как только вы пройдете GUI в начале, все это можно сделать в командной строке.
Я хотел бы опубликовать код, но то, что я написал, является собственностью, и у меня нет разрешения от моего работодателя. Я надеюсь, что совет XML, по крайней мере, сэкономит вам бесчисленные часы. Я только что развернул решение XML на сотнях управляемых серверов, и это имело большой успех.
источник
Спасибо всем, кто способствовал этой теме. Это было полезно и спасло мне много работы. Следующий скрипт PowerShell был протестирован на Windows Server 2008 R2.
В следующем примере создается Снимок каждые 2 часа между Мо. с 08:00 до 18:00 на томе C:
Если вы хотите изменить расписание, просто отредактируйте или замените встроенные XML-данные.
Внимание: без гарантии. Нет ответственности. Пожалуйста, проверьте в своей лаборатории перед использованием в производственной среде.
источник
Лучшее, что я могу сделать, это указать вам здесь , и конкретно указать это и это .
Ни тот, ни другой адрес не относятся к тому, что вы ищете, но я укажу, что вы можете создавать теневые копии в любой точке, поскольку VSS является фоновой службой, которая работает до тех пор, пока не будет вызвана.
источник
Я получил именно то, что мне нужно, с помощью следующего кода, мое требование состояло в том, чтобы настроить VSS, но также это должно было быть видно в графическом интерфейсе. Ключевая часть, чтобы сделать его видимым в графическом интерфейсе, это добавить идентификатор тома в имя запланированной задачи, как указано user261949 (это немного странно, честно говоря, я искал раздел реестра, но абсолютно ничего не нашел ..). Я получил следующий код, который соответствует моим потребностям:
Спасибо всем за вашу полезную информацию!
источник