System Center Orchestrator–SQL Query detailed Logs and behind the Scene

In some cases it can happen that the Log Purge is not working anymore, or not working correctly. In a real bad situation it can happen, that the daily Log Purge will make more troubles, maybe stops your Runbooks from working.

Than you will see a lot of orphaned Runbooks, and in the most cases this can happen when the extended Logging is activated at to many Runbooks. I always see customer, which are using the extended Logging at each Runbook and for ever.

Extended Logging should be used with care and only for testing and Dev Phase, not in production and not persistent.

Get Runbooks with active extended Logging

To get a List of Runbook with active, extended logging, run he following Query.

use Orchestrator 

select Name, LastModified, Enabled  from POLICIES where LogSpecificData = 1 or LogCommonData = 1


(Read more…)

System Center Orchestrator SQL Query–Query failed Runbooks

For your routine Orchestrator Checks, it can be vefy useful to see all failed Runbooks in a period. Of course you can go to each Runbook, and check the Logs, but to be honest, this is not fun.

So, there is a SQL Query to help on this. At the end of the the Query, there is a number, which will control the Timespan of the Query, in our example we want all failed Runbooks from the last 300 Hours, change this to your needs.

SQL Query get failed Runbooks

use Orchestrator

Select Name, TimeStarted, TimeEnded, POLICYINSTANCES.Status
From [Microsoft.SystemCenter.Orchestrator.Runtime].Jobs AS Jobs
 INNER JOIN POLICIES ON Jobs.RunbookId = POLICIES.UniqueID
 inner join POLICYINSTANCES on jobs.Id = POLICYINSTANCES.JobId 
 where POLICYINSTANCES.Status != 'success' 
 and  TimeEnded > dateadd(HOUR, -300, getdate()) 
 order by Name

(Read more…)

Werte und Variablen an Runbooks übergeben und von Runbooks erhalten

Ein tolles Feature und eines meiner meistgenutzten Funktionen im System Center Orchestrator ist es, Werte an ein Runbook zu übergeben und auch Werte wieder zu erhalten. Somit können mehrere Runbooks untereinander gestartet werden, ähnlich wie eine Funktion in der Programmierung.

Da dies natürlich die Lesbarkeit eines umfangreichen SCO Projektes erheblich verbessert und auch ein Teil der Best Practize ist, ein Runbook nicht mit zu vielen Aktivities zu überladen, sondern einzelnen Schritte in einzelne Runbooks zu verteilen, zeige ich euch heute wie ihr Werte zwischen Runbooks übergebt und erhaltet.

In diesem Beitrag befindet sich aber noch etwas, und zwar mein erstes Youtube Video. Ich habe ein Video zu genau diesem Thema gedreht und auf Youtube gestellt: http://youtu.be/OxxY9fgO70o

(Read more…)

User herausfinden welcher ein Runbook gestartet hat

Viele nutzen die SCO Web Konsole um Runbooks zu starten die die täglichen Aufgaben erleichtern.

Leider bietet uns die Web Konsole keine Möglichkeit der Userinteraktion, somit können wir keinen Status zurückgeben.

Doch hier kommt mein Runbook ins Spiel, ich hab herausgefunden das in der Orchestrator DB der User steht, der ein Runbook startet, somit lese ich diesen User aus, hole mir seine Mail Adresse und schicke ihm zum Abschluss der Runbooks eine Meldung per Mail.

Somit kann ich dem User Werte übergeben oder ihm einfach mitteilen das das Runbook fertig ist.

Jetzt sehen wir uns das ganze etwas genauer an.

(Read more…)

Link Filter in Runbook auf $NULL überprüfen

Heute mit einem kurzen Tipp den leider wenige kennen, aber vielen nützlich sein kann.

Linkfilter in SCO sind Filter zwischen 2 Activities, somit kann ich das Resultat des ersten Activities einschränken, und die gefilterte Auswahl dem zweiten Activity übergeben.

Je nach Typ gibt es hier unterschiedliche Vergleichsoperatoren.

(Read more…)