我正在创建电子表格以比较服务器上的修补程序,我还将这些记录用于历史记录以帮助诊断服务器之间的问题。
我下载了Douglas Fink's module,该脚本是The Scripting Guys的特色功能,它使我能够导出Excel,并且效果很好。
我正在将数据写入csv,然后在将其写入excel工作簿时对其进行排序。效果很好,但是我还要基于KBxxx的数量添加一个小计,以便如果我拥有与服务器匹配的总数,那么我知道我所有的服务器都具有该KB。
我只是从Powershell入手,从来没有写过Excel。请帮助或给我一些指导。
$Date = Get-Date
$files = Get-ChildItem -path $PSScriptRoot\servers\*.*
$Filename = "-" + $Date.Year + "-" + $Date.Month + "-" + $Date.Day + "_" + $date.Hour + $date.Minute
foreach ($server in $servers){
$server
Get-hotfix -ComputerName $server |
Select CSName, Description,HotFixID,InstalledOn|
Export-Csv -Path "$PSScriptRoot\output\$($file.basename)-HotFix-list-$($Filename).csv" -Append -NoTypeInformation
}
Import-Csv -path "$PSScriptRoot\output\$($file.basename)-HotFix-list-$($Filename).csv" | Sort-Object -Property HotFixID |Export-Excel -Path "$PSScriptRoot\output\$($file.basename)-list-$($Filename).xlsx" -WorksheetName HotFixID -Append
#Remove-Item -Path "$PSScriptRoot\output\*.csv" -Force
如果我将小计命令与以下设置一起使用,它将按每个修补程序对数据进行总计。
我可以很容易地看到所查询的所有服务器都有最高的KB(1)当我展开Hotfix选项时(2)它向我显示了剩余的详细信息。 (3)
我正在通过运行脚本然后每次添加更多功能来学习。
基思