tl; dr: есть ли способ настроить историю файлов Windows 8 через автоматическую командную строку / какой-нибудь скрипт?
Длинная история: я настраиваю множество автономных (не доменных) ПК и думаю, что резервное копирование лучше, чем отсутствие резервного копирования. В Windows 7 я даже настраиваю его стандартное резервное копирование, несмотря на то, что оно задерживается - по умолчанию он значительно замедляет работу компьютера каждый понедельник, если только по какой-то непонятной причине пользователь не выключил свой компьютер до выходных, а также заполнил носитель резервного копирования и прекратил резервное копирование.
И я ушел в отставку, чтобы попытаться автоматизировать его настройку, но по крайней мере там я могу настроить его один раз как администратор, и это эффективно для всех, включая новых пользователей. И я планирую (планирование автоматизировано) пользовательский сценарий для удаления старых резервных копий, когда на носителе резервной копии мало места, поэтому он не требует последующего обслуживания (установите один раз и забудьте).
Начиная с Windows 8, существует такая вещь, как «История файлов», которая гораздо менее навязчива для пользователей (ее влияние на производительность едва заметно) и может сама себя очистить (автоматическое управление историей на основе возраста или свободного места). Это реальное решение для резервного копирования, по настоящему сейчас :) Но оно также требует ручной настройки для каждого пользователя. Но это не приемлемо, так как пользователи будут забудьте настроить его.
Мой план состоит в том, чтобы настроить его для каждого пользователя, используя некоторый скрипт входа в систему runonce. Я уже делаю некоторые вещи с помощью скриптов runonce-logon, поэтому установка такого скрипта не является проблемой. Но я не знаю, как настроить историю файлов через скрипт.
Я попробовал некоторые исследования, но единственный официальный (есть неофициальные данные, см. Ниже скриншоты) связанный инструмент, который я нашел, это FhManagew.exe, который удаляет старые версии файлов. И мне нужно сначала настроить его через графический интерфейс. На ссылке есть полный API, и, по-видимому, история файлов может быть настроена через этот API. Но я предполагаю, что это API для приложений .NET, поэтому его нельзя использовать через командную строку. Или это может?
Пробовал поиск в реестре, но местоположение истории файлов нигде не найдено :(
Для подробностей, скажем, я хочу установить историю файлов в \\localhost\FileHistory$
и сохранять версию файла до тех пор, пока не потребуется свободное место (по умолчанию оно сохраняется вечно). Вот как это должно выглядеть:
Для справки: резервное копирование на локальный общий ресурс - это обходной путь, чтобы заставить историю файлов работать на одном жестком диске, в противном случае он утверждает, что это небезопасно.
Вот что я нашел в комментариях: конфигурация хранится в файлах xml в папке %LocalAppData%\Microsoft\Windows\FileHistory\Configuration
. На него ссылаются в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\fhsvc\Parameters\Configs
со значением name = путь к папке конфигурации (как указано выше) и значением data = REG_DWORD:1
.
Но простое добавление этих файлов и значений реестра и запуск службы (для нее есть сценарий) не запускает резервное копирование, а конфигурация не обновляется в панели управления. Однако, если история файлов уже настроена, обновления для файлов xml отражаются на панели управления.