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

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

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

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

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

Я пропустил какой-то правильный путь? Что мне делать?

решение1

С информацией отэтот сайт, мне удалось это выяснить:

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

Get-WinEvent -ListLog *

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

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

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

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

Get-WinEvent "Microsoft-Windows-Backup"

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

решение2

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

# 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" DetailedHResult="0" PreviousState="8" IsCritical="0" IsIncremental="1" BlockLevel="0" HasFiles="1" HasSystemState="0" IsCompacted="0" IsPruned="0" IsRecreateVhd="0" FullBackupReason="0" DataTransferred="6274990320" NumUnreadableBytes="0" TotalSize="5118410992" TotalNoOfFiles="4691" Flags="84" BackupTypeDetermined="1" SSBTotalNoOfFiles="0" SSBTotalSizeOnDisk="0" /></VolumeInfo>

Связанный контент