Теневое копирование поддерживается только для NTFS
Можно исключить файлы из области копирования, ключ рееста FilesNotToSnapshot
По умолчанию делается 64 копии, после чегоони удаляются и процесс начинается снова. Можно увеличить до 512, ключ рееста MaxShadowCopies
Увеличить объем теневого тома: vssadmin resize shadowstorage
Всего требуется 3 файла в одной директории: vss.bat, vss.ps1, sch.bat
Запускать vss.bat с правами администратора
vss.bat (скрипт для запуска):
VSS.ps1:
получаем список жестких дисков
sch.bat:
добавляем задачу на резервное копирование при каждом включении компьютера (с логом):
На заметку:
Запустить cmd из powershell:
При запуске скрипта с помощью групповой политики, sch.bat должен выглядеть следующим образом:
vss.bat должен выглядеть следующим образом:
Назначать скрипты следует в Logon скриптах, в настройках компьютера. (Computer configuration - policies - windows settinst - scripts (startup/shutdown))
На выполнение в настройках политики нужно назначить все скрипты. При этом обратить внимание на то, что для скриптов powershell в настройках существует отдельная вкладка и назначать их следует там. Таже во вкладке для скриптов powershell следует указать, что скрипты powershell нужно выполнять после скриптов bat.
Для того, чтобы выполнить скрипты только на Windows 7 следует создать и подключить к политики WMI-фильтр следующего вида:
Можно исключить файлы из области копирования, ключ рееста FilesNotToSnapshot
По умолчанию делается 64 копии, после чегоони удаляются и процесс начинается снова. Можно увеличить до 512, ключ рееста MaxShadowCopies
Увеличить объем теневого тома: vssadmin resize shadowstorage
Всего требуется 3 файла в одной директории: vss.bat, vss.ps1, sch.bat
Запускать vss.bat с правами администратора
vss.bat (скрипт для запуска):
@echo offРазрешаем выполнение неподписанных скриптов powershell
start /wait powershell.exe -WindowStyle Hidden Set-ExecutionPolicy RemoteSignedЗапускам файл vss.ps1. %~dp0 указывает на директорию из которой запущен скрипт. Ключ -WindowStyle Hidden прячет окно powershell
start /wait powershell.exe -WindowStyle Hidden %~dp0vss.ps1
cmd.exe /c %~dp0sch.bat
exit
VSS.ps1:
получаем список жестких дисков
$DriveList = gwmi win32_LogicalDisk -filter DriveType=3 | select -expand DeviceIDконвертируем вывод команды в массив
$DriveArray = $DriveList -split "`n"создаем хеш-таблицу с аргументами для включения восстановления системы, подробнее на https://technet.microsoft.com/en-us/magazine/gg675931.aspx
$args = @{включаем восстановление системы на всех жестких дисках
'drive' = $DriveArray
}
enable-computerrestore @argsсоздаем точку восстановлени¤ (одновременно создадутся теневые копии файлов)
checkpoint-computer –description ”Shadow Copy”Запрещаем выполнение неподписанных скриптов powershell, чтобы не оставлять уязвимостей в системе
Set-ExecutionPolicy Restricted
exit
sch.bat:
добавляем задачу на резервное копирование при каждом включении компьютера (с логом):
schtasks /create /tn "Shadow Copy" /sc onstart /rl highest /tr "powershell.exe -WindowStyle Hidden 'checkpoint-computer -description ShadowCopy | out-file -filepath D:/log.txt -encoding ASCII'"без лога:
schtasks /create /tn "Shadow Copy" /sc onstart /rl highest /tr "powershell.exe -WindowStyle Hidden 'checkpoint-computer -description ShadowCopy'"
На заметку:
Запустить cmd из powershell:
$command = @'
cmd.exe /c sch.bat
'@
Invoke-Expression -Command:$command
При запуске скрипта с помощью групповой политики, sch.bat должен выглядеть следующим образом:
schtasks /create /RU System /tn "Shadow Copy" /sc onstart /f /np /tr "powershell.exe -WindowStyle Hidden 'checkpoint-computer -description ShadowCopy'"
vss.bat должен выглядеть следующим образом:
start powershell.exe Set-ExecutionPolicy RemoteSigned
Назначать скрипты следует в Logon скриптах, в настройках компьютера. (Computer configuration - policies - windows settinst - scripts (startup/shutdown))
На выполнение в настройках политики нужно назначить все скрипты. При этом обратить внимание на то, что для скриптов powershell в настройках существует отдельная вкладка и назначать их следует там. Таже во вкладке для скриптов powershell следует указать, что скрипты powershell нужно выполнять после скриптов bat.
Для того, чтобы выполнить скрипты только на Windows 7 следует создать и подключить к политики WMI-фильтр следующего вида:
Namespace:
root\CIMv2
Query:
select * from Win32_OperatingSystem where Version like "6.1%" and ProductType="1"
Комментариев нет:
Отправить комментарий