Я создаю электронную таблицу для сравнения исправлений на серверах, которые я также использую для хронологической записи, чтобы помочь диагностировать проблемы между серверами.
Я скачал модуль Дугласа Финка , который был представлен в Scripting Guys, что позволит мне экспортировать-excel, и он работает очень хорошо.
Я пишу данныев CSV, а затем сортировать его, как я пишу его в книгу Excel.Это хорошо работает, но я хотел бы также добавить промежуточный итог, основанный на подсчете KBxxx, чтобы, если у меня было общее число, совпадающее с моими серверами, я знаю, что у всех моих серверов есть эта КБ.
IЯ только начинаю с 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
Если я использую команду промежуточного итога со следующими настройками, она суммирует данные по каждому исправлению.![](https://i.stack.imgur.com/DJkRG.jpg)
Я легко вижу, что у всех запрашиваемых серверов есть верхняя часть КБ (1). Когда я расширяю выбор исправлений (2), он показывает мне оставшиеся детали.(3) ![](https://i.stack.imgur.com/u1Xjl.jpg)
Я учусь, заставляя скрипт работать, а затем добавляю немного больше функций каждый раз.
Кейт