我正在编写一个脚本,显示我服务器的最后7个备份。脚本输出以下内容:Html表中的TimeCreated,Level,ID,Message,Size。
我的剧本:
$lastsevendays = (get-date) - (new-timespan -day 7)
$MyObject = Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-Backup'; StartTime=$lastsevendays}
$BackupSize = @{ Name = "BackupSize"; Expression = { (($objFSO.GetFolder("C:\Users\LaBackup").Size) / 1MB) } }
$MyObject |
Select 'TimeCreated', 'LevelDisplayName','ID', 'Message', $BackupSize |
ConvertTo-HTML -Head $Header |
Out-file C:\Users\script.htm
我希望脚本每天运行并自动删除可追溯到7个以上的备份行。
我想我应该选择有"日期"少于或等于七天前, 并删除它们以添加更新的行。
我不知道我怎么能这样做,因为ConvertTo-HTML似乎每次调用时都会重新生成一个整表。
一些想法??
提前致谢
答案 0 :(得分:0)
尝试一下:
Get-WinEvent -LogName Microsoft-Windows-Backup | Where-Object -FilterScript { $_.TimeCreated -gt [DateTime]::Now.AddDays(-7); }
这使用Where-Object
cmdlet过滤Microsoft-Windows-Backup
日志中超过7天的事件。
我想我误解了你在找什么。我所做的只是将-lt
运算符更改为-gt
。