Ivanti DSM - Patch Status in Excel exportieren (inkl. Pivot Charts)

Ivanti DSM - Patch Status in Excel exportieren (inkl. Pivot Charts)
Bildrechte: Marco Griep (CC BY-NC-ND) - Geschrieben von: Marco Griep

Vermissen Sie eine Option in Ivanti DSM, um Ihre Patch-Übersicht sinnvoll zu organisieren? Sie können einen CSV-Export der Patch-Richtlinien auf jedem Client durchführen. Dies ist jedoch mit 1000 Clients nicht mehr möglich und auch nicht mehr praktikabel. Wenn Sie die Powershell-Erweiterungen von “NWC-Services” verwenden, können Sie mit einem Powershell-Skript eine Patch-Übersicht erstellen, die Daten in Excel konvertieren und sogar schöne Pivot-Diagramme erstellen. Mit meinem Ivanti DSM - Patch Status to Excel Tool (oder Skript) können Sie dies sehr einfach tun.


Wie nutze ich das PowerShell-Skript für Ivanti DSM - Patch-Status export?

Bitte installieren Sie das Powershell-Modul “Import-Excel” von “dfinke”: Link

Install-Module ImportExcel

Das Skript stellt eine Verbindung zum BLS her, liest alle Informationen für Sie aus und konvertiert die Daten dann in Excel. Das Skript erstellt dann PivotCharts. Sie müssen dem Skript nur die Verbindungsinformationen bereitstellen:

DSMPatchesExcelExport.ps1 -argServer "localhost:8090" -argUser "domain\username" -argPassword "Password123" "username" -context "emdb:\rootDSE\Managed Users & Computers\*"

Das PowerShell Script (PSX PowerShell Extensions)

#Install-Module ImportExcel
#Connection Options
param
(
    [string]$argServer = '',
    #localhost:8090

    [string]$argUser = '',
    #domain\username

    [string]$argPassword = '',
    #Password123

    [string]$context = "emdb:\rootDSE\Managed Users & Computers\*"
)

$subRoutineFlag = 0; #Default = 0 (Change only for debugging)

#Prepare PS to Use HEAT DSM
import-module psx7 -DisableNameChecking

#Create global Authentification
$Server = "\\$argServer";
$Username = $argUser;
$global:path = $context
$password = $argPassword | ConvertTo-SecureString -asPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($Username, $password)

Write-Host "Using context: " + $context

#Connect to HEAT DSM
new-psdrive -name emdb -root $Server -scope script -psprovider blsemdb -Credential $credential
emdb:

$data = @"
Computer,Patch,Compliance,FoundDate,FixDate
"@

$contextTokens = $context.Split('\\')

$token = $contextTokens[$contextTokens.Length-2].Replace('&','').Replace(' ','_').Replace('(','').Replace(')','').Replace('.','')

Write-Host $token

$fileName = "C:\temp\" + (Get-Date).Year.ToString() + "_" + (Get-Date).Month.ToString() + "_" + (Get-Date).Day.ToString() + "_"  + (Get-Date).Hour.ToString()+ (Get-Date).Minute.ToString() + (Get-Date).Second.ToString() + "_" + $token +".xlsx"

Write-Host $fileName

if ($subRoutineFlag -eq 0)
{
    $computers = Get-EmdbComputer $context -Recurse
    #$computers.GetType()

    foreach ($machine in $computers)
    {
        $issues = Get-EmdbComputer $context -Name $machine.Name -Recurse | ForEach-Object { $_.GetAssociations("ComputerMissingPatch") } | Add-EmdbRelatedItem -PassThru

        foreach ($secIssue in $issues)
        {
            Write-Host $secIssue.GetTargetObject().Name " - " $secIssue.Status
            $data += [System.Environment]::NewLine + $machine.Name + "," + $secIssue.GetTargetObject().Name.Replace(',',' ') + "," + $secIssue.Status + "," + $secIssue.DetectDate + "," + $secIssue.FixDate

        }
    }
    $dataList = $data | ConvertFrom-CSV

    $dataList | Export-Excel $fileName -Show -AutoSize -IncludePivotTable -PivotRows Compliance -PivotData @{ Computer = "count" } -IncludePivotChart -ChartType PieExploded3D

    $subRoutineFlag = 1;
}

Optimieren Sie das Ivanti DSM Patch Management mit der DSM Management Suite

Um das Patch-Management und die Patch-Berichterstellung im Unternehmen zu verbessern, habe ich eine Open-Source-Software mit dem Namen DSM Management Suite programmiert. Die Software kann über einen längeren Zeitraum Patch-Informationen aus Ihrer Ivanti DSM-Umgebung erfassen und historische Daten daraus verarbeiten. Dies ermöglicht aussagekräftigere Berichte als die DSMC-Konsole. Mit der DSM-Verwaltungssuite können Sie die meisten Sicherheitslücken im Unternehmen erkennen, Trends erkennen und Probleme frühzeitig erkennen. Die Software ist kostenlos und wird durch Spenden finanziert - schauen Sie sie sich an.