Как получить доступ к результату и объему WindowsServerBackup через PowerShell?
Я хочу автоматически проверять последний результат WindowsServerBackup через PowerShell на Windows Server 2012/2012 R2.
Это не только "успех" или "сбой", но также "резервное копирование тома" и "сообщение об ошибке". Поэтому я попытался использовать следующие способы, но я не могу получить вышеуказанную информацию.
Get-WB*
не достаточно того, что я хочу сделать.- Я не могу найти объект WMI вокруг WindowsServerBackup.
Get-Eventlog
невозможно получить доступ к резервному копированию (Журнал приложений и служб /Microsoft/Windows/ Резервное копирование)
Я пропустил какой-то правильный путь? Что я должен делать?
2 ответа
С информацией с этого сайта, я смог понять это:
Вы можете использовать Get-WinEvent
командлет, потому что Get-EventLog
может получить доступ только к очень немногим файлам журналов. Чтобы увидеть все файлы журнала в системе, вы можете использовать:
Get-WinEvent -ListLog *
Чтобы найти определенный, вы можете использовать
Get-WinEvent -ListLog * | Where LogName -like "*backup*"
Некоторые из этих журналов доступны только для пользователей с повышенными привилегиями. Тот, который нам нужен, называется "Microsoft-Windows-Backup", к нему можно получить доступ без прав администратора.
Вы можете получить все события из этого журнала, используя эту команду:
Get-WinEvent "Microsoft-Windows-Backup"
Это способ доступа к журналу событий резервного копирования, но я не уверен, содержит ли он всю необходимую информацию.
Чтобы получить обзор, где вы можете увидеть сообщения об ошибках:
# 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>