Powershell导出到excel并在工作簿中执行小计

时间:2018-10-09 22:08:30

标签: excel powershell

我正在创建电子表格以比较服务器上的修补程序,我还将这些记录用于历史记录以帮助诊断服务器之间的问题。

我下载了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)

我正在通过运行脚本然后每次添加更多功能来学习。

基思

0 个答案:

没有答案