我在其他几个人的帮助下创建了这个脚本。
foreach ($server in $servers)
{
if (Test-Connection $server.Trim() -Count 1 -Quiet)
{
Get-Hotfix -ComputerName $server.trim() |
select CSNAME, Installedby, installedon, hotfixid |
where {$_.InstalledOn -lt(get-date).adddays(30)} |
Sort InstalledOn -Descending |
Select -First 5 |
Export-CSV $filename -NoClobber -NoTypeInformation -Append
}
}
它设置为外出并查看OU,然后从该OU中提取所有服务器并将其存储在$servers
中。然后,它将查询每一个并提取最近30天的更新。然后它会向我发送一封包含该报告的电子邮件。我已经决定,我希望它只向我发送过去30天内修补过的HAVENT服务器。
答案 0 :(得分:1)
以下是如何获取过去30天未修补的PC列表:
$notPatchedInLast30Days = (Get-HotFix | ? { $_.InstalledOn -gt (get-date).AddDays(-30) } | Select Source)
# Email if the list is not empty
if ($notPatchedInLast30Days) {
# Write code so send the list
}