Discovery abgeschaltet, Cmdlet ausgeführt – und die Objekte sind immer noch da? Der Grund liegt in einem Detail der Overrides. Plus: eine elegantere Alternative für SQL-Agent-Jobs.
Das Szenario aus unserer Community: Ein Team wollte die erkannten SQL-Agent-Jobs wieder aus Operations Manager entfernen, um anschließend nur noch eigene Jobs mit einem bestimmten Präfix zu überwachen. Die Overrides, mit denen die Job-Discovery aktiviert worden war, wurden entfernt und das Cmdlet zum Bereinigen mehrfach ausgeführt – ohne Erfolg. Die Objekte blieben.
Die Ursache
Remove-SCOMDisabledClassInstance (in SCOM 2007 noch Remove-DisabledMonitoringObject) entfernt nur Objekte, deren Discovery ausdrücklich per Override deaktiviert wurde. Eine Discovery, die von Haus aus deaktiviert ist – wie die SQL-Agent-Job-Discovery –, zählt nicht. Wer lediglich das aktivierende Override löscht, stellt zwar den Standardzustand wieder her, das Cmdlet sieht darin aber keinen Grund zum Aufräumen.
Die Lösung in drei Schritten
- Explizites Override anlegen: Für die betroffene Discovery ein Override
Enabled = Falseerstellen – für alle Objekte der Zielklasse oder die passende Gruppe. - Konfiguration verteilen lassen: Einige Minuten warten, bis die Agenten die neue Konfiguration erhalten haben.
- Bereinigen:
Import-Module OperationsManager
Remove-SCOMDisabledClassInstance
Das Cmdlet fragt zur Sicherheit nach einer Bestätigung und kann je nach Datenmenge einige Zeit laufen. Anschließend sind die Objekte aus der Konsole verschwunden.
Tipp
Das explizite Override Enabled = False können Sie danach stehen lassen. Es dokumentiert gleichzeitig, dass diese Objekte bewusst nicht überwacht werden.
Die elegantere Alternative: alles erkennen, gezielt überwachen
Ein Datenbankadministrator aus der Community schlug einen anderen Weg vor, der sich in der Praxis bewährt hat:
- Alle Jobs erkennen lassen – so sehen Sie in SCOM, welche Jobs auf den Servern überhaupt existieren.
- Regeln und Monitore nur für die eigenen Jobs aktivieren – per Override für eine dynamische Gruppe, die Jobs anhand des Namenspräfixes enthält.
- Optional die Job-Verantwortlichen informieren, statt deren Jobs zu reparieren: Alarme für fremde Jobs per Subscription an das jeweilige Team weiterleiten.
Das erhöht die Akzeptanz bei Fachabteilungen: Sie erfahren von Problemen, ohne dass der Betrieb Verantwortung für fremde Jobs übernimmt.
Heute
Das beschriebene Verhalten gilt unverändert für Operations Manager 2019, 2022 und 2025. Beachten Sie, dass Agent-Jobs im aktuellen SQL-Server-Management-Pack ebenfalls standardmäßig nicht erkannt werden – das Prinzip „explizit deaktivieren, dann bereinigen“ ist daher weiterhin relevant.