脚本只获取最近30天的更新

时间:2017-05-23 13:54:01

标签: powershell

我在其他几个人的帮助下创建了这个脚本。

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服务器。

1 个答案:

答案 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
}