Montag, 13 Mai 2019 09:46

Ivanti DSM - Überwachen von Patch-Management-Jobrichtlinien mit Powershell

Artikel bewerten
(0 Stimmen)

Ivanti DSM verwendet Jobrichtlinien, um Patch-Pakete zu installieren, mit denen zeitgesteuert nach Sicherheitslücken gesucht und diese geschlossen werden können. Diese Jobrichtlinien können auf einen Fehler stoßen. Wenn das Problem weiterhin besteht, werden möglicherweise keine Updates mehr auf einzelnen Geräten installiert. Ebenso kommt es häufig vor, dass ein Computer auf einen Neustart wartet, bevor Updates erneut installiert werden können. Dies ist im Kommentar der Jobrichtlinieninstanz zu sehen, wird jedoch normalerweise erst bemerkt, wenn Sie feststellen, dass ein Computer lange Zeit keine Updates installiert hat. Mein Ivanti DSM - Patch Management Powershell-Skript kann diese Fehler identifizieren und in einem Bericht zusammenfassen.

Um dieses Problem zu lösen, habe ich ein Powershell-Skript geschrieben (erfordert die PSX PowerShell-Erweiterungen der Firma NWC-Services), das einen Excel-Überblick bietet. Die Übersicht zeigt, welcher Computer und welche Richtlinie es ist. Das Skript zeigt auch an, ob die Richtlinieninstanz aktiv ist und ob ein Fehler vorliegt (einschließlich Fehlertext). Das Skript zeigt Ihnen ein Pivot-Diagramm in einer zweiten Workstation.

Voraussetzungen

Das PowerShell-Modul "ImportExcel" von "dfinke" wird auch benötigt, um die Excel-Datei zu generieren. Eine lizenzierte Version von (PSX PowerShell Extensions) von NWC-Services ist ebenfalls erforderlich.

Das PowerShell Script

Ersetzen Sie die Variablen im Bereich Params des Skripts, indem Sie den vollqualifizierten Domänennamen Ihres BLS einschließlich des Benutzernamens angeben.

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

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

  [string]$argPassword = 'Password123',
  #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:

$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() + "_Jobs.xlsx"

$MyJobPolicys = Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers\2\. Computers\Patch-Management-Workstations" -PolicyType "JobPolicy"

$data = @"
Computer,InstallParam,Compliance,isActive,Message
"@

foreach($job in $MyJobPolicys) {
    $instances = $job.GetPolicyInstances();

    foreach($i in $instances) {
        $InstallParam = $i.GetInstallationParameters()[0].Value
        $ComplianceState = $i.ComplianceState
        $isActive = $i.IsActive
        $machine = $i.TargetObjectName
        $msg = $i.LastComment

        Write-Host $machine "-" $msg
        $data += [System.Environment]::NewLine + $machine + "," + $InstallParam + "," + $ComplianceState + "," + $isActive + "," + $msg
    }

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

#  $computers = Get-EmdbComputer $context -Recurse

Kennen Sie DSM-Management-Suite bereits?

Kennen Sie bereits meine Open Source-Erweiterung "DSM-Management-Suite"? Sie können damit beeindruckende Patch-Berichte aus Ihrer Ivanti DSM-Installation erstellen und den Fortschritt Ihrer Patch-Verwaltung verfolgen. Es ist kostenlos ... Warum nicht einen Blick darauf werfen: DSM-Management-Suite

Gelesen 104 mal Letzte Änderung am Mittwoch, 30 Dezember 2020 13:31

Schreibe einen Kommentar

Bitte achten Sie darauf, alle Felder mit einem Stern (*) auszufüllen. HTML-Code ist nicht erlaubt.