Bevor Sie Overrides setzen oder eine Klasse bewerten, möchten Sie wissen, was eigentlich alles darauf läuft. Ein kurzes PowerShell-Skript listet alle Workflows für eine bestimmte Zielklasse.
Bei einem Kunden stellte sich die Frage: Welche Regeln laufen eigentlich auf der Klasse Windows Computer? Die Konsole hilft dabei nur begrenzt – man kann zwar nach Ziel filtern, sieht aber Regeln, Monitore und Discoveries getrennt und nur für das gerade ausgewählte Management Pack-Objekt. Ein kurzes PowerShell-Skript beantwortet die Frage vollständig.
Das Skript
param(
[Parameter(Mandatory)] [string]$ClassName
)
Import-Module OperationsManager
$class = Get-SCOMClass -Name $ClassName
if (-not $class) { throw "Klasse '$ClassName' nicht gefunden." }
if ($class.Count -gt 1) { throw "Mehrere Klassen mit dem Namen '$ClassName' gefunden." }
$rules = Get-SCOMRule | Where-Object { $_.Target.Id -eq $class.Id }
$monitors = Get-SCOMMonitor | Where-Object { $_.Target.Id -eq $class.Id }
$discoveries = Get-SCOMDiscovery | Where-Object { $_.Target.Id -eq $class.Id }
$(
$rules | Select-Object @{n='Typ';e={'Regel'}}, DisplayName, Enabled, @{n='MP';e={$_.GetManagementPack().Name}}
$monitors | Select-Object @{n='Typ';e={'Monitor'}}, DisplayName, Enabled, @{n='MP';e={$_.GetManagementPack().Name}}
$discoveries | Select-Object @{n='Typ';e={'Discovery'}}, DisplayName, Enabled, @{n='MP';e={$_.GetManagementPack().Name}}
) | Sort-Object Typ, DisplayName | Format-Table -AutoSize
Aufruf:
.\Get-WorkflowsForClass.ps1 -ClassName Microsoft.Windows.Computer
Wofür das nützlich ist
- Overrides planen: Bevor Sie für eine Klasse Schwellwerte anpassen, sehen Sie alle beteiligten Workflows auf einen Blick.
- Last abschätzen: Viele aktive Regeln auf einer Klasse mit vielen Instanzen bedeuten viel Last auf Agenten und Datenbank.
- Management Packs bewerten: Was bringt ein neu importiertes MP eigentlich mit – und worauf zielt es?
- Dokumentation: Mit
Export-CsvstattFormat-Tableentsteht eine Liste für die Betriebsdokumentation.
Tipp
Die Spalte Enabled zeigt den Standardzustand im Management Pack. Ob ein Workflow durch ein Override für bestimmte Objekte aktiviert oder deaktiviert ist, ermitteln Sie zusätzlich mit Get-SCOMOverride bzw. über Overrides Summary in der Konsole.
Heute
In SCOM 2007 hieß das Cmdlet noch Get-MonitoringClass. Die gezeigte Version funktioniert in Operations Manager 2012 bis 2025.