Инструмент командной строки архивации
Расположение: %systemroot%\system32\wbadmin.ехе.
Выполнить архивирование файлов можно и с помощью новой программы командной строки wbadmin.exe. Программа поддерживает следующие параметры:
• START BACKUP – backuptarget:<буква диска или UNC-имя общего ресурса, в который нужно выполнить архивирование> – include:<буквы дисков, содержимое которых нужно архивировать, написанные через запятую> – выполняет архивацию содержимого дисков, указанных в параметре – include, на диск или в общий каталог, указанный в параметре – backuptarget.
• STOP JOB – отменяет текущую операцию архивирования или восстановления системы.
• GET VERSIONS – backuptarget:<буква диска или UNC-имя общего ресурса> – отображает даты создания архивов (в формате MM/DD/YYYY-НН: ММ), расположенных на указанном в параметре – backuptarget диске или общем ресурсе.
• GET ITEMS – version <дата создания архива> – backuptarget:<буква диска или UNC-имя общего ресурса> – отображает содержимое архива, расположенного на указанном в параметре – backuptarget диске или общем ресурсе и имеющего указанную в параметре – version дату создания.
• GET STATUS – отображает статус выполнения текущей операции архивирования или восстановления.
Работа с теневыми копиями
Как было сказано выше, архивирование файлов основано на службе теневого копирования. Некоторые параметры работы службы теневого копирования можно также настроить с помощью специальных окон операционной системы.
Вкладка Предыдущие версии
В операционной системе Windows Vista окно Свойства любых файлов и папок содержит новую вкладку: Предыдущие версии. С ее помощью вы можете просмотреть список копий данных файлов или папок, созданных ранее с помощью службы теневого копирования. При этом с помощью той же вкладки можно открыть конкретную теневую копию файла или каталога (с помощью кнопки Открыть), создать новую теневую копию файла на основе существующей теневой копии (с помощью кнопки Копировать), а также восстановить содержимое файла или каталога на основе конкретной теневой копии (с помощью кнопки Восстановить).
Для примера попробуйте создать теневую копию раздела с помощью рассмотренной выше программы vssuirun.ехе. А после этого посмотрите на содержимое вкладки Предыдущие версии окна Свойства файла или каталога, расположенного на разделе, теневую копию которого вы только что создали.
Теневая копия всех каталогов определенного раздела также создается во время создания точки восстановления с помощью службы Восстановление системы.
Содержимое вкладки Предыдущие версии можно ограничить с помощью групповых политик. Для этого применяются политики файла PreviousVersions. admx, расположенные в подразделе Конфигурация пользователя → Административные шаблоны → Компоненты Windows → Проводник Windows → Предыдущие версии.
Политики данного подраздела изменяют значения параметров REGDWORD-типа, расположенных в ветви реестра HKEY_CURRENT_USER\Software\Policies\ Microsoft\PreviousVersions.
• DisableBackupRestore – если значение данного параметра равно 1, то восстановление файла из резервной копии будет запрещено.
• DisableLocalPage – при установке значения этого параметра равным 1 вкладка Предыдущие версии не будет отображаться в окне Свойства для файлов и папок, расположенных на локальном компьютере.
• DisableLocalRestore – если значение данного параметра равно 1, то восстановление файла с помощью копий, расположенных на локальном диске компьютера, будет запрещено.
• DisableRemotePage – при установке значения этого параметра равным 1 вкладка Предыдущие версии не будет отображаться в окне Свойства для файлов и папок, расположенных в общих каталогах.
• DisableRemoteRestore – если значение данного параметра равно 1, то восстановление файла с помощью копий, расположенных в общих каталогах, будет запрещено.
• HideBackupEntries – при установке значения этого параметра равным 1 восстановление файла из копий, хранящихся на архивных носителях, будет запрещено. По умолчанию восстанавливать файлы можно как из теневых копий, расположенных на диске, так и из копий, хранящихся на архивных носителях.
Работа с WMI
Работать с теневыми копиями и просматривать параметры работы провайдера теневого копирования можно также с помощью инструментария управления Windows. Для этого в пространство имен \\root\cimv2 были добавлены новые классы: Win32_ShadowProvider, Win32_ShadowCopy, Win32_ShadowStorage, Win32 ShadowContext.
Класс Win32_ShadowProvider
Данный класс содержит описание провайдеров теневого копирования. Он включает в себя следующие свойства.
• Caption, тип: string – определяет короткое описание провайдера (не более 64 символов).
• CLSID, тип: string – указывает CLSID-номер СОМ-класса провайдера теневого копирования.
• Description, тип: string – определяет описание провайдера.
• ID, тип: string – является ключевым. Определяет уникальный идентификатор провайдера теневого копирования.
• InstallDate, тип: datetime – указывает дату установки провайдера.
• Name, тип: string – определяет имя провайдера теневого копирования.
• Status, тип: string – указывает статус работы провайдера теневого копирования. Например, возможны следующие значения данного свойства: OK, Error, Degraded, Unknown, Pred Fail, Starting, Stopping, Service, NonRecover, No Contact, Lost Coram.
• Type, тип: uint32 – определяет тип провайдера теневого копирования. Например, провайдер может иметь следующий тип: «неизвестно», «системный», «программное обеспечение», «оборудование».
• Version, тип: string – указывает версию провайдера.
• VersionID, тип: string – определяет идентификатор версии провайдера.
Класс Win32_ShadowCopy
Экземпляры данного класса определяют теневые копии файлов. Класс содержит следующие свойства.
• Caption, тип: string – определяет короткое описание теневой копии (не больше 64 символов).
• ClientAccessible, тип: boolean – указывает, была ли данная теневая копия создана с помощью компонента Windows Предыдущие версии.
• Count, тип: uint32 – определяет номер теневой копии файла.
• Description, тип: string – указывает описание теневой копии.
• DeviceObject, тип: string – определяет название менеджера объектов Windows.
• Differential, тип: boolean – указывает, была ли создана данная копия отличительным провайдером теневых копий.
• ExposedLocally, тип: boolean – определяет, была ли данная теневая копия выставлена на локальном компьютере. Если значение данного свойства равно false, то данная теневая копия скрыта.
• ExposedName, тип: string – указывает имя отображаемой теневой копии.
• ExposedPath, тип: string – определяет путь к отображаемой теневой копии.
• ExposedRemotely, тип: boolean – указывает, была ли теневая копия выставлена на удаленной машине. Если значение данного свойства равно false, то данная теневая копия скрыта.
• HardwareAssisted, тип: boolean – определяет, была ли данная теневая копия создана провайдером теневых копий оборудования.
• ID, тип: string – является ключевым. Оно определяет уникальный идентификатор теневой копии на локальном компьютере.
• Imported, тип: boolean – определяет, была ли данная теневая копия импортирована на данный компьютер, а не создана на нем.
• InstallDate, тип: datetime – содержит дату создания теневой копии.
• Name, тип: string – определяет метку теневой копии.
• NoAutoRelease, тип: boolean – значение свойства указывает, будет ли данная теневая копия удалена автоматически в момент завершения работы процесса, который запросил ее создание. Если значение свойства равно true, то теневая копия удалена не будет.
• NotSurf aced, тип: boolean – определяет, является ли данная теневая копия текущей в пространстве локального компьютера.
• NoWriters, тип: boolean – указывает, является ли данная теневая копия созданной с теневой копии записывающего компонента.
• OriginatingMachine, тип: string – определяет имя компьютера, на котором находится оригинал для данной теневой копии.
• Persistent, тип: boolean – указывает, является ли данная теневая копия постоянной.
• Plex, тип: boolean – определяет, была ли данная теневая копия создана с помощью провайдера расщепления зеркала.
• ProviderlD, тип: string – указывает уникальный идентификатор провайдера, создавшего данную теневую копию.
• ServiceMachine, тип: string – определяет идентификатор компьютера, обслуживающего данную теневую копию.
• SetID, тип: string – указывает идентификатор набора теневых копий, в который входит данная теневая копия.
• State, тип: uint32 – определяет состояние теневой копии. Например, если значение данного свойства равно 1, то теневая копия подготавливается, а если значение равно 3, то она уже готова. Если же значение равно 9, то теневая копия создана. Если значение свойства равно 11, то она уже удалена.
• Status, тип: string – указывает описание статуса создания данной теневой копии. Например, возможны следующие значения данного свойства: OK, Error, Degraded, Unknown, Pred Fail, Starting, Stopping и т. д.
• Transportable, тип: boolean – определяет, может ли данная теневая копия быть перенесена на другой компьютер. Если значение данного свойства равно false, то теневая копия может работать только на локальном компьютере.
• VolumeName, тип: string – указывает раздел. На этом разделе находится оригинальный файл, теневую копию которого описывает данный экземпляр класса.
Класс Win32_ShadowCopy также поддерживает несколько методов.
• Create – создает теневую копию, используя строку окружения.
Входящие параметры:
– строковый параметр, определяющий раздел диска;
– параметр строкового типа, определяющий окружение, по умолчанию его значение равно ClientAccessible.
Возвращаемый параметр: строковый параметр, идентифицирующий созданную теневую копию.
• Revert – восстанавливает оригинальный файл на основе данной теневой копии. После этого все более новые теневые копии, чем та, на основе которой содержимое оригинального файла было восстановлено, будут удалены.
Входящий параметр: определяет, будет ли насильно происходить отключение тома перед восстановлением содержимого оригинального файла из теневой копии. Имеет тип boolean.
Возвращаемые параметры: нет.
Класс Win32_ShadowStorage
Содержит параметры работы хранилища теневых копий. Поддерживает следующие свойства.
• AllocatedSpace, тип: uint64 – определяет размер хранилища.
• Dif fVolume, тип: указатель на объект Win32_Volume – является ключевым. Оно определяет название раздела, присвоенное данному хранилищу теневых копий.
• MaxSpace, тип: uint64 – определяет максимальный размер хранилища. Данное свойство доступно как для чтения, так и для записи.
• UsedSpace, тип: uint64 – указывает используемый размер хранилища.
• Volume, тип: указатель на объект Win32_Volume – является ключевым. Оно определяет оригинальный раздел диска, на котором было создано хранилище теневых копий.
Класс также поддерживает метод Create, который создает новое хранилище теневых копий на указанном разделе.
Входящие параметры:
• строковый параметр, определяющий раздел, на котором создается хранилище теневых копий;
• параметр строкового типа, определяющий название нового раздела, которое будет использоваться для идентификации данного хранилища теневых копий;
• параметр, определяющий максимальный размер хранилища теневых копий, имеет тип uint64.
Возвращаемые параметры: нет.
Класс Win32_ShadowContext
Содержит описание окружения теневой копии. Класс содержит следующие свойства.
• Caption, тип: string – содержит короткое (не больше 64 символов) описание класса CIM_Setting.
• ClientAccessible, тип: boolean – определяет, была ли теневая копия создана с помощью компонента операционной системы Windows Предыдущие версии.
• Description, тип: string – содержит описание объекта CIM_Setting.
• Differential, тип: boolean – определяет, была ли создана данная теневая копия отличительным провайдером теневых копий.
• ExposedLocally, тип: boolean – указывает, была ли данная теневая копия выставлена на локальном компьютере. Если значение данного свойства равно false, то теневая копия скрыта.
• ExposedRemotely, тип: boolean – определяет, была ли теневая копия выставлена на удаленной машине. Если значение данного свойства равно false, то данная теневая копия скрыта.
• HardwareAssisted, тип: boolean – указывает, была ли данная теневая копия создана провайдером теневых копий оборудования.
• Imported, тип: boolean – определяет, была ли данная теневая копия импортирована на данный компьютер, а не создана на нем.
• Name, тип: string – является ключевым. Оно определяет имя окружения.
• NoAutoRelease, тип: boolean – значение свойства указывает, будет ли данная теневая копия удалена автоматически в момент завершения работы процесса, который запросил ее создание. Если значение свойства равно true, то теневая копия удалена не будет.
• NotSurf aced, тип: boolean – определяет, является ли данная теневая копия текущей в пространстве локального компьютера.
• NoWriters, тип: boolean – указывает, является ли данная теневая копия созданной с теневой копии записывающего компонента.
• Persistent, тип: boolean – определяет, является ли данная теневая копия постоянной.
• Plex, тип: boolean – указывает, была ли данная теневая копия создана с помощью провайдера расщепления зеркала.
• SettingID, тип: string – определяет идентификатор объекта CIM_Setting. Идентификатор не может быть больше 256 символов.
• Transportable, тип: boolean – указывает, может ли данная теневая копия быть перенесена на другой компьютер. Если значение данного свойства равно false, то теневая копия может работать только на локальном компьютере.
Утилита теневого копирования тома
Расположение: %systemroot%\system32\vssadmin.ехе.
Еще одной программой для настройки процесса создания теневых копий является стандартная программа командной строки vssadmin.ехе. Данная программа не является чем-то новым, она присутствовала и в операционной системе Windows ХР, поэтому мы рассмотрим ее лишь поверхностно.
Она поддерживает следующие возможности.
• vssadmin.exe list providers – выводит список провайдеров теневого копирования (имя провайдера, его тип, идентификатор и версию).
• vssadmin.exe list shadows – отображает список существующих теневых копий файлов, а также следующие сведения о них: идентификатор копии, раздел диска и имя компьютера, на котором расположен файл, атрибуты файла, а также имя провайдера, создавшего данную теневую копию.
Можно также воспользоваться дополнительными параметрами /For=<раздел диска>, /Shadow=<идентификатор теневой копии> или /Set=<идентификатор набора теневых копий>. Параметры используются, соответственно, для указания раздела диска, список теневых копий которого нужно отобразить, идентификатора теневой копии для вывода сведений только о ней или идентификатора набора теневых копий для отображения только теневых копий из этого набора.
• vssadmin.exe list writers – выводит список всех компонентов системы, которые могут создавать теневые копии. При этом отображается имя компонента, его идентификатор, состояние и описание последней возникшей в работе компонента ошибки.
Кроме того, программа vssadmin.exe операционной системы Windows Vista поддерживает следующие новые возможности.
• vssadmin.exe list shadowstorage – отображает список всех существующих на компьютере хранилищ теневых копий. Также выводится используемый хранилищами объем диска и максимальный объем диска, который может использовать данное хранилище.
Команда поддерживает два дополнительных параметра: /For=<хранилища для данного раздела диска> и/Оп=<хранилища на данном разделе дисках
• vssadmin.exe resize shadowstorage /For=<хранилище для данного раздела диска> /Оп=<хранилище на данном разделе диска> /MaxSize=
• vssadmin.exe list volumes – отображает список всех существующих на компьютере разделов.