Quite some time ago I demonstrated a solution for automating the notification and approval process for System Center Configuration Manager Application requests. I’ve received numerous requests since that time to make the program demonstrated in the demo available for public consumption. Today I will be making the application, the source code, and documentation available for download. I will also be including here links to several very short videos that demonstrate functionally, configuration and extension. I hope that this samples provides value to you and inspires additional automation around the Configuration Management process.
Rather the include all information in one single document or blog post, this will serve as a jump off point to separate items related to CMAEE. I suggest you start with the demonstration videos, each of these are shot and walk through configuration and use of CMAAE. As you work with CMAAE you may want to refer to the documentation when is pretty extensive and detailed. This documentation has an active index that will hyperlink you to the specific items you may need to dig in on. Finally if you are up to the challenge, the source code for CMAAE can be found linked below as well, feel free to grab a copy and modify to fit you liking.
The Configuration Manager Application Approval Engine is designed as a sample solution and is not intended for ‘out of the box’ use. Ensure that if using the CMAAE you have fully tested for compatibility and functionality within your environment. All source code is available for examination, use, and extension. No support is provided with the CMAAE sample. This sample solution is provide "as is" with no warrantees and confers no rights.
Configuration Manager Application Approval Engine Introduction:
My initial vision for the Configuration Manager Application Approval engine was just that of a simple portal which would broker data between Configuration Manager and System Center Orchestrator facilitating the dynamical approval of CM Application Requests. After much consideration I decided that the solution should not rely on any one automation system rather be completely flexible in integration, operation, and extensibility.
The current iteration of CMAAE is a flexible and dynamic portal that facilitates the approval process of CM Application requests and can optionally trigger post approval automation. The CMAAE Process or experience can be broken down into three phases:
CMAAE Detection and Notification – any automation process (Orchestrator, PowerShell, and even managed code) monitors Configuration Manager for new application requests. When detected this automation creates a notification email with a specially crafted URL linking to the dynamic CMAAE portal. The CMAAE installer includes several sample automations to complete detection and notification.
CMAAE Approval – once the specially crafted URL has been engaged, the CMAAE portal is displayed allowing for the approval or denial of an application request.
CMAAE Post Approval Automation – this phase is optional. If post approval automation is desirable (such as delivering an email to the application requestor with the approval decision), the CMAAE portal can be configured to execute a post approval System Center Orchestrator Runbook, or a signed PowerShell script.
CMAAE Documentation, Links, and Other Information:
Short Demonstration Videos: TechNet Blog
Detailed Documentation: TechNet Blog
CMAAE Installer Download: TechNet Gallery
CMAAE Source Code: GitHub Project
Original Blog Posts Discussing CM Application Approval Internals: TechNet Blog