Назад | Перейти на главную страницу

Метод настройки теневых копий томов в Server Core

Есть ли какой-то очевидный метод, который я не нашел, как настроить периодическое создание теневых копий для данного диска в системе под управлением Windows без графического интерфейса?

Из того, что я могу сказать, переход на вкладку «Теневые копии» свойств диска и нажатие кнопки «Включить» в основном просто создает пару запланированных задач. Эти запланированные задачи, кажется, используют какой-то GUID, уникальный для каждого тома? так что это не то, что я мог бы легко сделать с помощью групповой политики.

Должен же быть какой-то простой способ включения теневых копий из командной строки, верно?

Вы думаете, что это должно быть легко, не так ли? Что ж, ты ошибаешься. Это не.

Теневые копии общих папок доступны во всех выпусках Windows Server 2008 R2. Однако пользовательский интерфейс недоступен для варианта установки Server Core. Чтобы создавать теневые копии для компьютеров с установленным Server Core, вам необходимо управлять этой функцией удаленно с другого компьютера..

Если о простоте не может быть и речи ... см. эту ветку, где они пытаются пройти трудный путь. Я люблю автоматизировать вещи, но в данном случае я думаю, что это гораздо больше усилий, чем просто использование графического интерфейса изначально.

Вместо удаленной настройки параметра вы можете просто создать запланированную задачу с помощью групповой политики. Как вы упомянули, задача, созданная обычным способом, использует идентификатор тома; его действие выглядит примерно так:

vssadmin.exe Create Shadow /AutoRetry=15 /For=\\?\Volume{f9d9bfa1-f506-f24f-f54f-fe6ef47fd6f4}\

Поэтому, конечно же, перед вами стоит задача создать объект групповой политики, который работал бы на всех компьютерах.

Я предлагаю сделать ваше расписание небольшим фрагментом PowerShell, который находит идентификатор тома и вызывает ту же команду.

Я предполагаю, что вы хотите сделать это для системного диска. В этом случае такой код должен работать в PowerShell 2.0+:

$volID = Get-WmiObject Win32_Volume | Where-Object { $_.DriveLetter -ieq $env:SYSTEMDRIVE } | Select-Object -ExpandProperty DeviceID
Start-Process 'vssadmin.exe' -ArgumentList "Create Shadow /AutoRetry=15 /For=$volID" -Wait

Здесь это показано в виде двух строк, чтобы вам было легче увидеть, что происходит, но, очевидно, если вы намереваетесь вызывать свою задачу без внешнего файла сценария (что усложняет ситуацию), вам придется разместить все это в одной строке. Вы можете разделить строки точкой с запятой, вы можете просто встроить всю строку поиска идентификатора тома в строку с помощью $(), и т.д.

Вы также можете использовать PowerShell -EncodedCommand параметр для работы с цитированием. Это позволяет получить удобный для чтения многострочный скрипт, который можно разместить где-нибудь в общей папке. Вы base64 кодируете этот сценарий, а затем передаете все это в PowerShell с помощью -EncodedCommand.

При необходимости я могу расширить эти параметры, если этот код удовлетворит ваши потребности.

Это то, что я использую в PowerShell. Это ссылка на мой сайт, но она выглядит намного лучше, чем вставлена ​​здесь.

#Enable Volume Shadow copy
clear
$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"
while("Y","N" -notcontains $Continue){$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"}
if ($Continue -eq "Y") {
#Enable Shadows
vssadmin add shadowstorage /for=C: /on=C:  /maxsize=8128MB
vssadmin add shadowstorage /for=D: /on=D:  /maxsize=8128MB
#Create Shadows
vssadmin create shadow /for=C:
vssadmin create shadow /for=D:
#Set Shadow Copy Scheduled Task for C: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00AM
Register-ScheduledTask -TaskName ShadowCopyC_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_AM"
#Set Shadow Copy Scheduled Task for C: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00PM
Register-ScheduledTask -TaskName ShadowCopyC_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_PM"
#Set Shadow Copy Scheduled Task for D: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00AM
Register-ScheduledTask -TaskName ShadowCopyD_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_AM"
#Set Shadow Copy Scheduled Task for D: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00PM
Register-ScheduledTask -TaskName ShadowCopyD_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_PM"
}

В ОС СЕРВЕР (не Windows 10) вы можете выполнить следующие действия:

  1. Откройте Управление компьютером.
  2. «Подключиться к другому компьютеру» (ваш главный сервер)
  3. Развернуть Системные инструменты
  4. Щелкните правой кнопкой мыши Shared папки > щелкните Все задачи > и щелкните Настроить теневые копии.

Моя основная проблема на самом деле заключается в том, что Windows 7.0, 8.1 не может настраивать теневые копии в удаленной системе даже с установленными инструментами RSAT.

Теперь, когда я понимаю, что должен запускать инструмент с сервера Windows, методы удаленного графического интерфейса в порядке. Для этого подойдут различные сценарии и методы PowerShell, но в большинстве ситуаций мне это не требовалось.

Включение и настройка теневых копий общих папок

1. Откройте Управление компьютером. 2. В дереве консоли щелкните правой кнопкой мыши Общие папки, щелкните Все задачи и щелкните Настроить теневые копии. 3.Щелкните том, на котором вы хотите включить теневые копии общих папок, а затем щелкните Включить. 4.Чтобы внести изменения в расписание и область хранения по умолчанию, нажмите «Настройки».

найдено здесь http://itsimple.info/?p=458