Welchen Status hat meine Softwareverteilung? (Microsoft System Center 2012 R2 Configuration Manager) - Statusinformationen verstehen und nutzen

Der folgende Blogeintrag soll helfen, zu verstehen, wie in Microsoft System Center 2012 R2 Configuration Manager der Status von Softwareverteilungen erfolgt und wie die Statusinformationen genutzt werden können:

In Microsoft System Center 2012 Configuration Manager kann die Bereitstellung der gesamten Software überwacht werden, z. B. Softwareupdates, Kompatibilitätseinstellungen, Anwendungen, Tasksequenzen sowie Pakete und Programme. Bereitstellungen können dabei standardmäßig über den Arbeitsbereich Überwachung in der Configuration Manager-Konsole oder über Berichte überwacht werden (basierend auf SQL Reporting Services).

Für Anwendungen in Configuration Manager wird eine zustandsbasierte Überwachung unterstützt, sodass Sie den letzten Anwendungsbereitstellungszustand für Benutzer und Geräte nachverfolgen können.

In diesen Zustandsmeldungen werden Informationen über einzelne Geräte angegeben. Wenn beispielsweise eine Anwendung für eine Sammlung von Benutzern bereitgestellt wird, kann der Kompatibilitätszustand und der Zweck – verfügbar oder erforderlich - der Bereitstellung z.B. in der Configuration Manager-Konsole angezeigt werden.

Für einen Anwendungsbereitstellungszustand wird einer der folgenden Kompatibilitätszustände angezeigt:

  • Erfolg: Die Anwendung wurde erfolgreich bereitgestellt oder war bereits installiert.

  • In Bearbeitung: Die Anwendungsbereitstellung wird ausgeführt.

  • Unbekannt: Der Zustand der Anwendungsbereitstellung konnte nicht ermittelt werden. Dieser Zustand gilt nicht für Bereitstellungen mit dem Zweck Verfügbar. Dieser Zustand wird in der Regel angezeigt, wenn noch keine Zustandsmeldungen vom Client eingegangen sind.

  • Anforderungen nicht erfüllt: Die Anwendung wurde nicht bereitgestellt, weil sie mit einer Abhängigkeit oder einer Anforderungsregel nicht kompatibel war oder weil das Zielbetriebssystem für die Bereitstellung ungültig war.

  • Fehler: Bei der Bereitstellung der Anwendung ist ein Fehler aufgetreten.

Sofern die Software durch Configuration Manager installiert wird, also insbesondere noch nicht installiert war, kann der Status der eigentlichen Installation noch detaillierter bestimmt werden.

Der Configuration Manager Client schickt den jeweiligen Status dabei über sogenannte Zustandsmeldungen (englisch: State Messages), die standardmäßig gesammelt und alle 15 Minuten verschickt werden (konfigurierbar). Dabei wir jeweils nur der aktuellste Status weitergeleitet, und damit nicht unbedingt jede einzelne Statusmeldungen, und Zustandsmeldungen werden auch nur dann an die Configuration Manager Datenbank weitergegeben, sofern sich der Zustand verändert hat. Der Datenbank ist damit jeweils nur der aktuell gemeldete Zustand und der Zeitpunkt, zu dem dieser gemeldet wurde, zu entnehmen.

Der Configuration Manager Client überprüft den Status von ihm aktuell zugewiesenen (!) Anwendungen

  • vor und nach der eigentlichen Installation bzw. Deinstallation der Anwendung

  • zeitgesteuert entsprechend den Einstellungen für die erneute Auswertung für Bereitstellungen (standardmäßig alle 7 Tage)

  • bei Ausführung des Evaluationszyklus für die Anwendungsbereitstellung

Die Überwachung von Anwendungen in Configuration Manager 2012 basiert auf der Anwendung an sich und nicht auf der jeweiligen Zuweisung. Solltest beispielsweise ein Anwendung durch mehrere Zuweisungen einem Client zugewiesen sein, so berichtet der Client insbesondere nicht, aufgrund welcher speziellen Zuweisung die Anwendung letztlich installiert wurde, da dies für die Installation keine Relevanz hat.

Ferner werden Anwendungen nur solange überwacht, wie es mindestens eine entsprechende aktive Zuweisung gibt. Dies kann dazu führen, dass die Statusinformationen in der Configuration Manager Datenbank nicht mehr aktuell sind. Wenn z.B. eine Anwendung von einem Client deinstalliert wird, nachdem die Zuweisung gelöscht wurde, wird der Status für diese Anwendung nicht mehr aktualisiert, solange es keine neue Zuweisung an den Client gibt. Daher ist darauf zu achten, entsprechende Zuweisungen bestehen zu lassen, solange der Status der Anwendungen überwacht werden soll.

Der Configuration Manager Client protokolliert dabei seine Aktionen in den folgenden Logdateien:

  • AppDiscovery.log

  • AppEnforce.log

  • AppIntentEval.log

  • StateMessage.log

Der Anwendungsbereitstellungszustand wird vom Client über zwei Zustandsmeldungen (engl.: State Messages) berichtet, und zwar über Meldungen mit der TopicType 1702 (Enforcement State) und über die Meldung mit der TopicType 1701 (Compliance State) (s. StateMessage.log).

Ferner speichert der Client alle Statusmeldungen in WMI, und zwar unter root\ccm\statemsg in der Klasse CCM_StateMsg.

Die folgenden Tabellen zeigen die jeweiligen möglichen Statusinformationen, die mit Hilfe der Zustandsmeldungen an den Configuration Manager Standort übermittelt werden und damit grundsätzlich zur Auswertung zur Verfügung werden:

Compliance State ID

State Name (Englisch)

0

Compliance State Unknown

1

Compliant

2

Non-Compliant

4

Error

 

Enforcement State Message ID

State Name (Englisch)

1000

Success

1001

Already Compliant

1002

Simulate Success

2000

In progress

2001

Waiting for content

2002

Installing

2003

Restart to continue

2004

Waiting for maintenance window

2005

Waiting for schedule

2006

Downloading dependent content

2007

Installing dependent content

2008

Restart to complete

2009

Content downloaded

2010

Waiting for update

2011

Waiting for user session reconnect

2012

Waiting for user logoff

2013

Waiting for user logon

2014

Waiting To Install

2015

Waiting Retry

2016

Waiting For Presentation Mode

2017

Waiting For Orchestration

2018

Waiting For Network

2019

Pending App-V Virtual Environment Update

2020

Updating App-V Virtual Environment

3000

Requirements not met

3001

Host Platform Not Applicable

4000

Unknown

5000

Deployment failed

5001

Evaluation failed

5002

Deployment failed

5003

Failed to locate content

5004

Dependency installation failed

5005

Failed to download dependent content

5006

Conflicts with another application deployment

5007

Waiting Retry

5008

Failed to uninstall superseded deployment type

5009

Failed to download superseded deployment type

5010

Failed to updating App-V Virtual Environment

In der Configuration Manager Datenbank können diese Statusinformationen über diverse SQL Views abgerufen werden, insbesondere über die SQL View v_CICurrentComplianceStatus. Der eigentliche Status ist dabei den folgenden Feldern zu entnehmen (jedoch als IDs, und nicht als beschreibender Text):

Feld

Beschreibung

ComplianceState

Kompatiblitätszustand für eine Applikation

LastComplianceMessageTime

Zeitpunkt, an dem Kompatibilitätszustand gemeldet wurde

EnforcementState

Erzwingungszustand für Applikationsbereitstellung

LastEnforcmentMessageTime

Zeitpunkt, an dem der Erzwingungszustand gemeldet wurde

Microsoft System Center 2012 R2 Configuration Manager beinhaltet einige Standardreports bzgl. der Überwachung des Status von Softwareverteilungen, die direkt genutzt oder bei Bedarf angepasst bzw. als Vorlagen für eigene Reports verwendet werden können. Die auf Microsoft SQL Server Reporting Services aufsetzenden Standardreports verwenden dabei Funktionen aus SRSResources.dll (z.B. Localization.GetStateMessage), um die o.g. IDs in den beschreibenden Text zu übersetzen.