Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell

Server 24 марта 2026 9 мин чтения
ЕС
Евгений Семёнов
Генеральный директор ООО АйТи Фреш · 15+ лет в IT
Резервное копирование Windows Server — wbadmin и PowerShell

Резервное копирование — фундаментальная задача любого системного администратора. Потеря данных на сервере может обойтись компании в миллионы рублей, а восстановление без актуальной резервной копии нередко оказывается невозможным. Windows Server предоставляет встроенный инструмент Windows Server Backup и утилиту командной строки wbadmin.exe, которые позволяют настроить надёжное резервное копирование без стороннего ПО.

В этой статье мы подробно разберём установку компонента Windows Server Backup, все основные команды wbadmin, автоматизацию через PowerShell, резервное копирование System State, томов и отдельных папок, а также процедуру восстановления из резервной копии.

Установка Windows Server Backup

Компонент Windows Server Backup не устанавливается по умолчанию. Чтобы проверить его наличие и установить, используйте PowerShell:

# Проверка наличия компонента
Get-WindowsFeature Windows-Server-Backup

# Установка с включением всех подкомпонентов
Install-WindowsFeature Windows-Server-Backup -IncludeAllSubFeature

После установки в меню «Средства» (Tools) диспетчера сервера появится оснастка Windows Server Backup. Кроме графической консоли wbadmin.msc, вы получаете доступ к утилите wbadmin.exe и набору PowerShell-командлетов модуля WindowsServerBackup.

Совет: На Server Core без графической оболочки управление бэкапами выполняется исключительно через wbadmin.exe и PowerShell. Убедитесь, что компонент установлен, прежде чем настраивать задания.

Основные команды wbadmin

Утилита wbadmin.exe — это основной инструмент командной строки для управления резервным копированием. Вот ключевые команды:

Резервное копирование тома целиком

Самый распространённый сценарий — полное резервное копирование системного тома на внешний или сетевой диск. Команда для бэкапа тома C: на диск D:

wbadmin start backup -backupTarget:D: -include:C: -vssFull -quiet

Ключевые параметры:

Для бэкапа на сетевой ресурс с авторизацией:

wbadmin start backup -backupTarget:\\\\fileserver\backups -include:C: -user:DOMAIN\backupuser -password:P@ssw0rd -vssFull -quiet
Важно: При использовании сетевого хранилища для бэкапа хранится только последняя версия. Для хранения нескольких версий используйте локальный диск или создавайте подпапки с датой через скрипт.

System State: что это и как сохранить

System State — это специальный набор критически важных компонентов сервера. В зависимости от установленных ролей в него входят:

# Резервная копия System State на диск E:
wbadmin start systemstatebackup -backupTarget:E: -quiet

# Резервная копия System State в сетевую папку
wbadmin start systemstatebackup -backupTarget:\\\\nas01\sysstate -quiet
Совет: На контроллерах домена регулярный бэкап System State критически важен. Microsoft рекомендует выполнять его не реже, чем раз в период tombstone lifetime (по умолчанию 180 дней), но на практике лучше делать его ежедневно или хотя бы еженедельно.

Автоматизация бэкапов через PowerShell

Для автоматизации резервного копирования PowerShell предоставляет модуль WindowsServerBackup с набором командлетов. Вот пример скрипта, который создаёт политику бэкапа и настраивает расписание:

# Импорт модуля
Import-Module WindowsServerBackup

# Создание новой политики бэкапа
$policy = New-WBPolicy

# Добавление системного тома
$volume = Get-WBVolume -AllVolumes | Where-Object { $_.MountPath -eq "C:" }
Add-WBVolume -Policy $policy -Volume $volume

# Добавление System State
Add-WBSystemState -Policy $policy

# Указание целевого диска
$disk = Get-WBDisk | Where-Object { $_.DiskNumber -eq 1 }
$target = New-WBBackupTarget -Disk $disk
Add-WBBackupTarget -Policy $policy -Target $target

# Установка расписания (ежедневно в 02:00)
Set-WBSchedule -Policy $policy -Schedule 02:00

# Применение политики
Set-WBPolicy -Policy $policy -Force

Альтернативный подход — использование wbadmin.exe внутри PowerShell-скрипта с динамическим формированием пути:

# Скрипт backup_server.ps1
$path = "\\\\srvbak1\backup\srv01\"
[string]$date = Get-Date -Format 'yyyy-MM-dd'
$TargetUNC = $path + $date

# Создание папки для текущей даты
if (!(Test-Path -Path $TargetUNC)) {
    New-Item -Path $TargetUNC -ItemType Directory
}

# Запуск бэкапа
$cmd = "wbadmin.exe START BACKUP -backupTarget:$TargetUNC -systemState -noverify -vssCopy -quiet"
Invoke-Expression $cmd

# Логирование
$logFile = "C:\Logs\backup_$(Get-Date -Format 'yyyyMMdd').log"
"Backup completed at $(Get-Date)" | Out-File $logFile -Append

Настройка расписания через Task Scheduler

Для регулярного автоматического запуска бэкап-скрипта создайте задание в планировщике задач:

# Создание триггера: вторник и пятница в 01:00
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Tuesday,Friday -At "01:00AM"

# Действие: запуск PowerShell-скрипта
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
    -Argument "-ExecutionPolicy Bypass -File C:\Scripts\backup_server.ps1"

# Регистрация задания от имени SYSTEM
Register-ScheduledTask -TaskName "ServerBackup_Weekly" `
    -Trigger $trigger `
    -User "NT AUTHORITY\SYSTEM" `
    -Action $action `
    -RunLevel Highest -Force
Совет: Используйте учётную запись NT AUTHORITY\SYSTEM для запуска задания — она имеет все необходимые привилегии и не зависит от смены пароля администратора.

Очистка старых резервных копий

Со временем резервные копии занимают значительное место на диске. Для управления хранилищем используйте следующие подходы:

# Удаление старых бэкапов, оставить последние 10 версий
wbadmin delete backup -keepVersions:10 -quiet

# Удаление конкретной версии по дате
wbadmin delete backup -version:03/20/2026-02:00 -quiet

Для сетевых хранилищ, где бэкапы сохраняются в папки по датам, используйте PowerShell для ротации:

# Удаление бэкапов старше 60 дней
$retentionDays = 60
$cutoffDate = (Get-Date).AddDays(-$retentionDays)
$backupRoot = "\\\\srvbak1\backup\srv01"

Get-ChildItem -Path $backupRoot -Directory |
    Where-Object { $_.CreationTime -lt $cutoffDate } |
    Remove-Item -Recurse -Force

Write-Host "Очистка завершена. Удалены бэкапы старше $retentionDays дней."

Восстановление из резервной копии

Восстановление — не менее важная часть стратегии бэкапирования. Начните с просмотра доступных версий:

# Список всех доступных резервных копий
wbadmin get versions

# Список бэкапов на конкретном целевом диске
wbadmin get versions -backupTarget:D:

# Просмотр содержимого конкретной версии
wbadmin get items -version:03/24/2026-02:00

Для восстановления тома или файлов:

# Восстановление тома
wbadmin start recovery -version:03/24/2026-02:00 -itemType:Volume -items:C: -recoveryTarget:D: -quiet

# Восстановление конкретной папки
wbadmin start recovery -version:03/24/2026-02:00 -itemType:File -items:"C:\Data\Projects" -recoveryTarget:D:\Restore -quiet

Восстановление System State и Active Directory

Восстановление System State на контроллере домена требует особой процедуры. Необходимо загрузить сервер в режиме DSRM (Directory Services Restore Mode):

# Переключение в DSRM
bcdedit /set safeboot dsrepair
shutdown /r /t 0

# После перезагрузки в DSRM — восстановление System State
wbadmin start systemstaterecovery -version:03/24/2026-02:00 -quiet

# Возврат в обычный режим после восстановления
bcdedit /deletevalue safeboot
shutdown /r /t 0
Важно: По умолчанию выполняется неавторитетное восстановление (non-authoritative restore). Это означает, что после перезагрузки объекты AD будут реплицированы с других контроллеров домена. Если вам нужно восстановить удалённые объекты, потребуется авторитетное восстановление через утилиту ntdsutil.

Для авторитетного восстановления конкретного OU после загрузки System State:

ntdsutil
activate instance ntds
authoritative restore
restore subtree "OU=Users,DC=contoso,DC=com"
quit
quit

Мониторинг и проверка бэкапов

Настроенное резервное копирование бесполезно, если вы не проверяете его результаты. Вот PowerShell-скрипт для мониторинга:

# Проверка последнего бэкапа
$lastBackup = Get-WBSummary
Write-Host "Последний бэкап: $($lastBackup.LastSuccessfulBackupTime)"
Write-Host "Результат: $($lastBackup.LastBackupResultHR)"
Write-Host "Следующий запланированный: $($lastBackup.NextBackupTime)"

# Проверка на контроллерах домена — дата последнего бэкапа AD
repadmin /showbackup *

Для отправки уведомлений при сбое бэкапа можно проверять журнал событий:

# Поиск ошибок бэкапа в журнале за последние 24 часа
Get-WinEvent -FilterHashtable @{
    LogName = 'Microsoft-Windows-Backup'
    Level = 2  # Error
    StartTime = (Get-Date).AddHours(-24)
} -ErrorAction SilentlyContinue |
    Select-Object TimeCreated, Message |
    Format-List
Совет: Логи Windows Server Backup хранятся в папке C:\Windows\Logs\WindowsServerBackup\. Периодически проверяйте их, чтобы обнаружить проблемы до того, как они станут критичными.

Bare Metal Recovery: восстановление с нуля

Bare Metal Recovery (BMR) позволяет полностью восстановить сервер на новое оборудование — включая ОС, драйверы и данные. Для создания BMR-бэкапа:

# BMR-бэкап включает все критические тома
wbadmin start backup -backupTarget:D: -allCritical -vssFull -quiet

# Через PowerShell
$policy = New-WBPolicy
Add-WBBareMetalRecovery -Policy $policy
$target = New-WBBackupTarget -VolumePath "D:"
Add-WBBackupTarget -Policy $policy -Target $target
Set-WBPolicy -Policy $policy -Force

Для восстановления загрузитесь с установочного диска Windows Server, выберите «Восстановление системы» (Repair your computer) → «Устранение неполадок» → «Восстановление образа системы» (System Image Recovery), и укажите расположение резервной копии.

Шпаргалка: основные команды

# --- УСТАНОВКА ---
Install-WindowsFeature Windows-Server-Backup -IncludeAllSubFeature

# --- РЕЗЕРВНОЕ КОПИРОВАНИЕ ---
wbadmin start backup -backupTarget:D: -include:C: -vssFull -quiet
wbadmin start systemstatebackup -backupTarget:E: -quiet
wbadmin start backup -backupTarget:D: -allCritical -vssFull -quiet

# --- ПРОСМОТР ---
wbadmin get versions
wbadmin get items -version:03/24/2026-02:00
wbadmin get status

# --- ВОССТАНОВЛЕНИЕ ---
wbadmin start recovery -version:03/24/2026-02:00 -itemType:Volume -items:C: -recoveryTarget:D:
wbadmin start systemstaterecovery -version:03/24/2026-02:00

# --- ОЧИСТКА ---
wbadmin delete backup -keepVersions:10 -quiet

# --- МОНИТОРИНГ ---
Get-WBSummary
repadmin /showbackup *

Заключение

Встроенные инструменты Windows Server — wbadmin, Windows Server Backup и PowerShell-модуль WindowsServerBackup — обеспечивают надёжное резервное копирование без необходимости покупать сторонние решения. Ключевые принципы: автоматизируйте процесс через планировщик задач, храните копии на отдельном носителе или в сети, регулярно проверяйте результаты и периодически тестируйте восстановление.

Для контроллеров домена обязательно настройте бэкап System State и убедитесь, что он выполняется не реже раза в неделю. Для файловых серверов и серверов приложений используйте полное резервное копирование томов с ротацией старых копий. И помните: бэкап, который ни разу не тестировали на восстановление — это не бэкап, а надежда.

Официальная документация: Microsoft Learn — Windows Server, Microsoft Learn — PowerShell

Часто задаваемые вопросы

Что такое Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell?

Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell — это важный аспект системного администрирования, который позволяет настроить и оптимизировать работу IT-инфраструктуры. В данной статье подробно рассматриваются все ключевые моменты.

Как правильно настроить Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell?

Для корректной настройки Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell необходимо следовать пошаговой инструкции, представленной в статье выше. Важно учитывать особенности вашей инфраструктуры и требования безопасности.

Какие типичные ошибки возникают при работе с Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell?

Наиболее частые ошибки при работе с Резервное копирование Windows Server: wbadmin, Windows Server Backup и PowerShell: некорректная конфигурация, недостаточные права доступа и несовместимость версий. Рекомендуем обратиться к специалистам ITFresh для профессиональной настройки.

Нужна помощь с серверами?

ООО «АйТи Фреш» берёт ИТ на себя

Мы настроим надёжное резервное копирование ваших серверов — от ежедневных бэкапов System State и томов до полной стратегии Bare Metal Recovery. Проверка, мониторинг, ротация и тестовое восстановление — всё под ключ. Напишите нам в Telegram или позвоните, и забудьте о страхе потери данных.

15+лет опыта
25+клиентов
40Gканал сети
24/7поддержка