我编写了一个收集McAfee AVdate并创建HTML报告的脚本。如果AV日期比当前日期早2天,它会将报告上的颜色更改为红色。否则颜色应为绿色。
以下脚本不会改变颜色,即使它超过2天。颜色始终显示绿色。
任何人都可以帮助我理解为什么吗?
$AVDate = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\McAfee\AVEngine").AVDatDate
$AVDatDate = $AVDate
if($AVDatDate -lt [datetime]::Today.AddDays(-2)){
Add-Content $report "<tr>"
Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>12</B></td>"
Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee AVDate</B></td>"
Add-Content $report "<td bgcolor= 'red' height='30' align=left><B>$AVDatDate</B></td>"
Add-Content $report "</tr>"
}
else{
Add-Content $report "<tr>"
Add-Content $report "<td bgcolor= 'White' height='30' align=center><B>12</B></td>"
Add-Content $report "<td bgcolor= 'White' height='30' align=left><B>McAfee AVDate</B></td>"
Add-Content $report "<td bgcolor= 'Aquamarine' height='30' align=left><B>$AVDatDate</B></td>"
Add-Content $report "</tr>"
}
答案 0 :(得分:0)
尝试更改
$AVDatDate = $AVDate
要
$AVDatDate = get-date $AVDate
我怀疑它正在将字符串与日期进行比较。这可能不起作用,这取决于您提取的注册表值是否可以通过get-date转换为日期。如果这不起作用,则需要使用parseexact方法。