Runbook Commander – An Orchestrator Console Extension for System Center 2012 Configuration Manager
Updated 10/26/2012 - Runbook Commander 2.0 has been released. Information can be found and the following links.
Download Location - http://gallery.technet.microsoft.com/Runbook-Commander-20-116ec91c
Deployment and Administration Guide - http://blogs.technet.com/b/neilp/archive/2012/10/23/runbook-commander-2-0-deployment-and-administration-guide.aspx
Note - Some of this content (screen shots, Video, etc.) is outdated, however conceptually the informaiton is still valid.
Introduction and Disclaimer -
Building off of topics previously discussed in this blog (Programming for the Orchestrator Web Service, and Configuration Manager Console Extensions) I would like to introduce a new tool I have been developing that provides an interface into System Center Orchestrator directly from the Configuration Manager console. I am tentatively calling the application Runbook Commander and a Beta Release can be found below. In this blog posting I will discuss how Runbook Commander functions, the configuration of Runbook Commanded, and will close out with a short recorded demo.
Before doing so – Runbook Commander nor any process demonstrated anywhere in this blog can be supported by myself or Microsoft. Application development is not what I do for a living. Runbook Commander was created during my own spare time and I cannot commit to any enhancements, feature additions, or support requests. That said I do intend on continuing development on this tool, tidying up any found bugs, and adding features / enhancements. I would appreciate any feedback about the tool and also welcome any feature requests. I would like to understand how the tool is being used and what can be added in order to improve the experience. Please provide feedback directly to this blog posting.
Runbook Commander is a ‘Right Click Tool’ or Console Extension for Configuration Manager 2012 and performs exactly what you would expect. It allows you to right click on a computer object from within the Configuration Manager console and execute a specified Orchestrator Runbook passing to that Runbook the Computer Name as a parameter value. In addition, for any other parameters specified in the Initialize data activity for the targeted Runbook, Runbook Commander will dynamically create a form on which to input parameter values.
In these three screen shots you can see what the Initialize Data Activity looks like on the Orchestrator side of the house, and then the dynamically created Runbook Commander form in Configuration Manager.
Initialize Data Activity found in Orchestrator.
Runbook Commander Console Extension in action.
Dynamically Created form.
The Runbook Commander Configuration Manager console extensions consist of three main components.
RBCommander.exe – this is the working application in this process. RBCommander.exe is invoked through the Configuration Manager Console extensions (more on this below), and performs the following actions
- Calls to the Orchestrator Web service and pulls back a listing of parameters from the specified Runbook.
- Verifies that at least one of these parameters is “Computer Name: ”.
- Dynamically creates a form on which to provide Runbook parameter values.
- Reaches back out to the Orchestrator Web Service and starts the specified Runbook with the provided parameter values.
RBCommander.XML – if you’ve worked with Configuration Manager Console extensions the function of this file will be familiar to you. See this blog posting on 2012 configuration Manager Console extensions for more information. Inside of RBCommader.xml file the following items are specified.
- URL of Orchestrator Web Service.
- Each Runbook that will be made available to the RBCommander console extensions. These are specified using the Runbook ID.
- The computer name of which to use as parameter data will also dynamically be passed using this file.
RBCXMLCreator.exe – this was quickly thrown together for the automated creation of the RBCommander.XML file. This was a quick job and will be improved in near future releases. That said, despite a few quirks, it helps elevate the need for manual construction of the XML file which while straight forward can be a bothersome task. See the attached video for a functionality demonstration.
Before deploying and or using Runbook Commander the following conditions must be met.
- Orchestrator must be installed including the Web Service.
- System Center 2012 Configuration Manager Console must be installed. Please do not install this tool (or any other home grown console extensions) on your site servers.
- The Runbooks which you intend on making available to Runbook Commander must have a parameter with a Name of “Computer Name: ” (including the : ).
- The Orchestrator Web Service must be reachable from the machine(s) running Runbook Commander each time a Runbook is invoked.
- The user account used to launch the Configuration Manager console must also have the appropriate access to execute Orchestrator Runbooks.
To install Runbook Commander launch RBCSetup.MSI. This will install most components. You will notice however that once complete the console extensions have not yet been added to the Configuration Manager console. This is because target Runbooks have not been selected and the console extension XMl has not yet been created.
Next run Runbook Commander XML Creator (found under Runbook Commander in the all programs listing). Enter the URL to your Orchestrator Web Service and click Fetch. This will bring up a listing of Runbooks from the Orchestrator environment. If you have more than 50 Runbooks configured they may not all be displayed in the Runbook Commander XML Generator application. This is due to paging done on the Web Service (IIS). See the following article for an IIS workaround - ht<tp://msdn.microsoft.com/en-us/library/hh921660>. I will also do my part to automate a work around in the next release of RBC.
With the Runbooks displayed select those you would like to include in the console extensions and click Next.
Runbook Commander XML Generator
You will now have available a text box for each Runbook selected. The Text Box will allow you to specify a friendly name for each Runook. This is the name that will appear when launching the console extensions in Configuration Manager. Enter the friendly names and click Generate.
Runbook Commander XML Generator with Friendly Name Prompts
At this point you can open up the Configuration Manager console and should see the extensions when right clicking on any computer from the devices node.
Configuration Manager console with new extenstions
Conclusion and Gotchas –
That is pretty much it, very simple. Here is a list of know issues or gotchas that I will be targeting for future development.
- You can at any time re-launch the Runbook Commander XML Creator application and regenerate the console extension .XML file. However be aware that the file is completely overwritten. In other words each time you want to add a new item you will need to re-select all items that you would like to represent in the console extensions. If you would like to add a Runbook to the extensions without regenerating the complete XML file, crack open the XML file and cross reference my past posting on Console Extensions. It should not be that difficult to work out.
- The UI of Runbook Commander XML Creator gets kind of funny if you select more than 10 Runbooks. It will still function correctly but takes some window resizing. As mentioned the XML generator was an afterthought and still need some clean up.
- Eventually I will tighten up the XML creator so that it only returns Runbooks that meet the prerequisite of having a parameter with the name “Computer Name:”.
- Currently you will need to run the XML Creator with a user account that has access to the Runbook Web Service. I will soon add controls for a user account and password.
- I am sure there are many more, but please check out the application and provide feedback. Also make sure you subscribe to this blog in order to receive email updates about the application (along with any other post that may be made).
Video Demonstration -