Windows Server 2012/2012 R2 上の PowerShell 経由で最新の WindowsServerBackup 結果を自動的に確認したい。
「成功」「失敗」だけでなく、「バックアップされたボリューム」や「エラーメッセージ」も表示されます。そこで、以下の方法を試してみましたが、上記の情報を取得できません。
Get-WB*
私がやりたいことはそれだけではありません。- WindowsServerBackup の周囲に WMI オブジェクトが見つかりません。
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 Message
----------- -- ---------------- -------
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>