Powershell 备份日志到 csv

Powershell 备份日志到 csv

嗨,我学会了一个简短的命令,可以从服务器上的备份日志中创建 CSV。我有 5 个 CSV 文件,我想知道是否有办法在一个页面上以网站格式显示它们的结果。整个目的是收集各种 CSV 文件,这样我就可以有一个通用的服务器健康检查页面,它会告诉我我需要什么,例如:

  • 备份状态
  • 计算机上次登录
  • 服务器正常运行时间
  • 磁盘使用情况等

我可以将它们放在网页上,这不是问题,但是......

备份:

该命令选择计算机的事件日志并将备份放在 csv 中,以便我可以在 PHP 中对其执行任何操作,或者稍后迁移到 SQL 等。

$events = get-winevent -logname Microsoft-Windows-Backup |export-csv -path C:\inetpub\wwwroot\backup.csv

当我做完第一次测试时,我意识到:

  • 它并不像我那么复杂,尽管我掌握了所有细节,但是:状态要么是停止,要么是启动,所以没有完成作业命令...当您查看 Windows 备份解决方案时,很容易读出任务已完成或失败。在事件日志上,情况并不那么简单。

  • 这些驱动器不是可读格式,如果你查看事件日志,你会发现没有 C 或 D 驱动器,只有代码

见下文:

信息停止系统状态恢复操作已完成。

信息信息 于 '?2013?-?02?-?17T22:43:58.000000000Z' 启动的系统状态恢复操作已成功完成。成功恢复的文件日志:'C:\Windows\Logs\WindowsServerBackup\SystemStateRestore-17-02-2013_22-43-58.log'。

信息停止备份存储位置上的卷“{FFC838C7-793E-11E2-B603-806E6F6E6963}”的备份集已加载。

信息停止备份存储位置上的卷“{FFC838C6-793E-11E2-B603-806E6F6E6963}”的备份集已加载。

信息开始系统状态恢复操作于“?2013?-?02?-?17T22:43:58.000000000Z”开始。

信息停止备份操作已完成。

信息信息备份操作已成功完成。

信息开始备份操作已开始。

如果有人能提供一些更好的选择,我将不胜感激。我才刚刚开始使用 powershell,所以我还在学习。任何评论都很好,因为我很乐意学习。

答案1

简短版本...改用 PS 中的 get-wbsummary 并将其传送到文件。

长版本...我实际上正在做类似的事情。我有一个集中式脚本来执行备份,它会作为脚本的一部分启动 wbadmin 作业。第二天早上 10 点左右,我有一个在每台服务器上运行的备份“检查器”。它使用 PS 命令“get-wbsummary”并将该数据转储到 txt 文件中。然后,它解析该 txt 文件以获取“LastSuccessfulBackupTime”和“LastBackupTime”并进行比较。它还会对磁盘和备份 VHD 进行快速大小比较(它们永远不会相同,如果它们很接近,我会保留它们)。然后,它会获取所有信息,并通过电子邮件将结果信息发送给我。虽然这实际上是在 VBS 中,但很可能可以更轻松地在 PS 中完成。我也尝试过使用事件日志路由,但发现那里的信息不足以让我获得所需的信息。

答案2

而不是使用导出-Csvcmdlet,尝试使用轉換為 HTML。它将为您生成一个基本的 HTML 文件。您可以使用一些可选参数来美化它,例如-头,您可以在其中定义 CSS 类。如果您还想生成 CSV,只需将两个 cmdlet 放入管道中:

<YOUR DATA GENERATOR> | Export-Csv -Path "<PATH TO CSV FILE>" | ConvertTo-Html | Out-File -FilePath "<PATH TO HTML FILE>"

相关内容