Como acessar o resultado e o volume do WindowsServerBackup via PowerShell?

1

Desejo verificar automaticamente o último resultado do WindowsServerBackup via PowerShell no Windows Server 2012/2012 R2.

Não são apenas "sucesso" ou "falha", mas também "volume de backup" e "mensagem de erro". Então, tentei usar as seguintes formas, mas não consigo obter as informações acima.

  1. Get-WB* não é o suficiente que eu quero fazer.
  2. Não consigo encontrar o objeto WMI ao redor do WindowsServerBackup.
  3. Get-Eventlog não pode acessar sobre Backup (Registro de Aplicativo e Serviço / Microsoft / Windows / Backup)

Eu senti falta de um jeito certo? O que devo fazer?

    
por keisuke 22.02.2018 / 10:15

2 respostas

0

Com as informações de este site , Consegui descobrir:

Você pode usar o cmdlet Get-WinEvent , porque Get-EventLog pode acessar apenas alguns arquivos de log. Para ver todos os arquivos de log no sistema, você pode usar:

Get-WinEvent -ListLog *

Para encontrar um certo, você pode usar

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

Alguns desses logs só podem ser acessados com privilégios elevados. O que queremos é chamado "Microsoft-Windows-Backup", ele pode ser acessado sem privilégios de administrador.

Você pode obter todos os eventos deste log usando este comando:

Get-WinEvent "Microsoft-Windows-Backup"

Essa é a maneira de acessar o log de eventos do Backup, mas não tenho certeza se contém todas as informações de que você precisa.

    
por 22.02.2018 / 11:10
0

Para obter uma visão geral, onde você pode ver as mensagens de erro:

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

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

Para obter o EventData com detalhes, como informações sobre volumes, você pode usar este código:

# 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"

Isso pode, é claro, ser analisado mais adiante, mas com esses comandos você pode obter as informações.

Exemplo de saída do meu servidor:

TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
21-02-2018 23:12:16 14 Information The backup operation has completed.

<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>

    
por 22.02.2018 / 16:54