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

Как получить доступ к результату и объему WindowsServerBackup через PowerShell?

Я хочу автоматически проверять последний результат WindowsServerBackup через PowerShell на Windows Server 2012/2012 R2.

Это не только «успех» или «сбой», но и «резервный том» и «сообщение об ошибке». Поэтому я попытался использовать следующие способы, но не могу получить вышеуказанную информацию.

  1. Get-WB* недостаточно того, что я хочу делать.
  2. Я не могу найти объект WMI вокруг WindowsServerBackup.
  3. Get-Eventlog нет доступа к резервному копированию (журнал приложений и служб / Microsoft / Windows / Резервное копирование)

Я что-то упустил? Что я должен делать?

Чтобы получить обзор, где вы можете увидеть сообщения об ошибках:

# All messages
Get-WinEvent "Microsoft-Windows-Backup" | Format-Table -Wrap

# Only the newest
Get-WinEvent "Microsoft-Windows-Backup" -MaxEvents 1 | Format-Table -Wrap

Чтобы получить EventData с такими подробностями, как информация об объемах, вы можете использовать этот код:

# Save as variable
$Event = Get-WinEvent "Microsoft-Windows-Backup" -MaxEvents 1

# Convert to XML
$EventXML = [xml]$Event.ToXml()

# Show all EventData
$EventXML.Event.EventData.Data | Format-Table -Wrap

# Show only VolumesInfo data, with things like path, size and number of files
$EventXML.SelectSingleNode("//*[@Name='VolumesInfo']")."#text"

Конечно, это можно проанализировать дальше, но с помощью этих команд вы можете получить информацию.

Пример вывода с моего сервера:

Сообщение TimeCreated Id LevelDisplayName
----------- - ---------------- -------
21-02-2018 23:12:16 14 Информация Операция резервного копирования завершена.

<VolumeInfo> <VolumeInfoItem Name = "D:" OriginalAccessPath = "D:" State = "14" HResult = "0" DetailHResult = "0" PreviousState = "8" IsCritical = "0" IsIncremental = "1" BlockLevel = " 0 "HasFiles =" 1 "HasSystemState =" 0 "IsCompested =" 0 "IsPruned =" 0 "IsRecreateVhd =" 0 "FullBackupReason =" 0 "DataTransferred =" 6274990320 "NumUnreadableBytes =" 0 "TotalSize =" 5118410992 "TotalSize =" 5118410992 " 4691 "Flags =" 84 "BackupTypeDetermined =" 1 "SSBTotalNoOfFiles =" 0 "SSBTotalSizeOnDisk =" 0 "/> </VolumeInfo>

С информацией от этот сайт, Я смог понять это:

Вы можете использовать Get-WinEvent командлет, потому что Get-EventLog может получить доступ только к очень немногим файлам журнала. Чтобы просмотреть все файлы журнала в системе, вы можете использовать:

Get-WinEvent -ListLog *

Чтобы найти конкретный, вы можете использовать

Get-WinEvent -ListLog * | Where LogName -like "*backup*"

Некоторые из этих журналов доступны только для пользователей с повышенными привилегиями. Тот, который нам нужен, называется «Microsoft-Windows-Backup», к нему можно получить доступ без прав администратора.

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

Get-WinEvent "Microsoft-Windows-Backup"

Это способ получить доступ к журналу событий резервного копирования, но я не уверен, что он содержит всю необходимую информацию.