You are browsing the archive for scsm.

Avatar of kurtvh

by kurtvh

SCSM work item Assignment add-on

12:00 am in Service Manager by kurtvh

By default Service Manager includes two task to assign Incident work items to a user or group. “Assign to me” is the one that set the console user as the AssignedUser and the “Assign to Analyst” can be scoped to the global operators group (all service desk users) or all User CI’s from where you can select the AssignedUser.

Customers feedback I have received is that they require a link between a Support group and an Active Directory Security group to scope the assignment list. One example of an assignment task can be found here. Based on this solution I have extended the functionality for this task. Check-out Rob Ford his blog(, lot of nice solutions are available on his blog.

This custom task includes the class definition to hold the settings in Service Manager and the task that is coded in C# with the custom assignment form. Functionality available in the task:

Assignment for Incidents and Service Requests

  • Assign to specific group members from current selected support group.
  • Actions taken are listed in the Action log as Analyst Comments.
  • Preformat of the comment is based on the selections made on the form.
  • Configuration can be made in Library workspace of the console

Import Instruction:

  • Import of the mpb management pack in Service Manager.
    • SCSM.AssignDirect.ConsoleTasks.mpb

Note: Admins that use the “old” version of this task need to remove the previous mgmt pack first.

Assign task configuration information

After import and restart of the console the task is configurable and ready for further use.

The configuration of the task is done in the Library workspace. An additional folder and views are created from where new configuration CI’s can be created or updated..

Via the “Create Assign Directly Settings” task the configuration can be made. (example for Incidents, same approach for Service Requests)

After clicking the task a form is presented to configure the Incident Support Group association with the Active Directory Security group from Service Manager CMDB.


1. Selection of the Support group – TierQueue list from Service Manager

2. Related AD security group: CI picker to get the Active Directory Group from CMDB.

3. Domain DN: Can be found on the Group CI object on the extensions tab.

AssignDirect task functionality in console

The task is available in the “Assign” task folder in the Work Items workspace of the console.

After clicking the task a form is presented to assign a user to an Incident work item. A clear difference must be made when executing the task from an Incident selected from a view in the console or an Incident open for “Edit”.

  • Selection from view: Incident is assigned to selected user, GUI is refreshed.
  • Incident open for “Edit”: Incident is updated with new assignment and Action log entries are made. Console user has to “Apply” or “Close” the Incident to set the configuration.

The assignment form

  • By default the current selected Support Group of the Incident is captured and enumerated. Group members (of related AD Sec. Group) are available for selection.
  • Comment is prepopulated based on the selections made in the form.
    1. Assignment selection is added as comments in the action log.
    2. Information is added as Action log item – RecordAssigned type .
    3. No comment required: nothing is logged, only in history visible.
  • Assign the user to the work item.

All done….Select an Incident or Service Request work item, select the user in the form where you want to assign the work items to and click OK!

Hope this delivers some added-value for your Service Management environment.

Download on TechNet Gallery:

Have fun,

Kurt Van Hoecke

Avatar of kurtvh

by kurtvh

Empty form for custom CI’s – Invalid column name BaseManagedEntityID

9:21 am in Service Manager by kurtvh


After applying the Update Rollup 2 for System Center 2012 SP1 Service Manager (KB2802159) I’ve encountered the following issue.


Installation of the update was done in the correct order, all servers are rebooted after installation and no errors during the update of the SCSM servers. After completing the installations, some CI’s could not be accessed anymore in the Configuration Items workspace of the console. A white page in the form is displayed. When opening the expander, the following error is displayed:


(GUID of the query is environment specific, this will be another GUID in your environment.)

In this environment we found that customer created CI classes that have no custom form associated could not be visualized anymore. Default SCSM CI classes  (computers, printer…) had no issues displaying the form in the console. It is like that all CI’s that are using the default form of SCSM are experiencing this issue. No errors in the OpsManager even viewer folder are logged.


The procedure to solve this issue in my customer his environment was rather simple. Custom CI classes are defined in a separate management pack and something must went wrong during the installation of the update. The definition of the customization in the SCSM database was corrupted. To solve this issue I went through the following procedure:

  • Open the management pack that defines the custom classes. In this case, customer Configuration Items classes with the “Configuration Items” class as base class. Note: I always separate class definitions from other customization like forms in different management packs. In this way only my “Configuration Items library” customizations management pack needs an update.
  • Update the version of the management pack, save and seal it again. No changes needed, only an updated version of the mp is needed.
  • Re-import the updated management pack.

In this way your customization is re-imported again in the SCSM database. After this import all issues with accessing the CI’s are gone. Custom CI classes can be accessed again in the console, no blank forms anymore. Note: Keep in mind that the import of the updated mp will also update the “Last modified” date on the CI’s of the update classes.

Hope this helps!


Avatar of kurtvh

by kurtvh

SCSM DW jobs query for stalled processes.

7:40 am in Service Manager by kurtvh

Sometimes you can encounter challenges to keep the ETL data warehouse and cube jobs processing. The procedure to investigate is nicely explained in this blog. For readability of this blog an overview of the symptoms:

  • All Data Warehouse jobs disabled.
  • DWMaintenance job never finishes or runs a really long time.
  • Reports don’t show updated data.
  • Failed cube processing
  • Processing is just stalled
  • DWMaintenance is stalled on the ManageCubePartitions/ManageCubeTranslations Step
  • The data warehouse is just dead.

In some cases the root cause of these issues is DWMaintenance job that has a stalled process. It’s a statusID of 7 (waiting) instead of 3 (not started). You need to reset this status to get the Data Warehouse jobs running again. I also have run through this procedure to see if there are no stalled processed on other jobs and get some error details on hanging processes (if there are). Going through this procedure for every job was a bit time consuming and therefore I have created a query that executes this procedure and returns jobs with statusID 7.

Run this query on your SQL server against the against the DWStagingAndConfig database. Select the database and click New Query. Specify the Extract_ job names in the query and execute the query.


Infra.Process AS DWProcess

Infra.Batch AS DWBatch ON
DWBatch.ProcessId = DWProcess.ProcessId

Infra.WorkItem(nolock) AS DWWorkItem ON
DWBatch.BatchId = DWWorkItem.BatchId

where DWProcess.ProcessName IN (‘<Extract_DW_Your DW mgmt group name>‘,’<Extract_mgmt group name>
    ,’DWMaintenance’,’MPSyncJob’, ‘Load.Common’, ‘Transform.Common’,’Load.OMDWDataMart’,’Load.CMDWDataMart’)AND
    DWWorkItem.StatusId = 7

This will return all jobs with the StatusID on 7…. if there are.

Fixing the issue is the same as in the manual procedure: (Check the PowerShell script form Travis (here) that will run each of the ETL (Extract-SM, Extract-DW, Transform, Load) jobs for the data warehouse in sequence and then starts the Deployment and Cube Processing Jobs.)

  • First you need to lad the Datawarehouse cmdlets – Use one of these depending on your install path

import-module “C:\Program Files\Microsoft System Center 2012\Service Manager\Microsoft.EnterpriseManagement.Warehouse.Cmdlets”


Import-Module ‘%ProgramFiles%\Microsoft System Center 2012\Service Manager\Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1′

  • Run Get-SCDWJob and top it with Stop-SCDWJob –Jobname DWMaintenance. Do the same for any other running job.
  • Execute the SQL query

update infra.workitem set statusid = 3 where workitemId = <output SQL query>

  • Run the start-SCDWJob -jobname MPSyncJob PS command to get the jobs started.

Hope this helps!

Kurt Van Hoecke

Avatar of kurtvh

by kurtvh

Customizing the SCSM self-service portal

7:48 pm in Service Manager by kurtvh


During the implementations of the SCSM environment I have run against different requirements to customize the self-service portal of System Center Service Manager. There are different ways to configure or adjust the portal to your needs. The way the portal is functioning is coded in the web-part and cannot be adjusted. This blog post provides an overview of the different ways to tweak and tune the portal.

Basic configuration via the SharePoint site settings:


  • Configuration of the site.
  • Update site theme configuration
  • Security settings can be configured via this link –> need to be applied on parent site
  • Sample procedure van be found here.

Configuring the Service Manager web-parts

The web-parts are configurable via the Page – Edit Page link tool on the portal.


On the upper right of the web-part you can see a drop-down and select “Edit Web Part”


For the different items that are displayed in the web-part you can configure color, visibility and font.


Example procedure can be found here.

Example of a portal with changed header title and color adjustments. Color adjustments are made in “Site theme” and on the web part.


Changing the translation resource files of the portal.

If you need to change the translation of items like links or button text, there is a possibility to change the text directly in the portal localization resource files.

Note: These files can be overwritten with updates, it is always recommended to backup your configuration.

The localization resource files are located in the following folder: <drive>:\inetpub\wwwroot\System Center Service Manager Portal\ContentHost\Clientbin\ on the SharePoint server. In this folder you have a list of folders – supported languages with each its own language resource file.

An example adjustment is the link to cancel a request. On the “My Request” page you have a link from where a portal user can cancel a request. This actually resolves the request. If you want to adjust the naming of the link, you can lookup the SilverlightModule_StringResources.resx file for your language, search abit through the translations and adjust the value of your item you want to adjust.

Cancel link on My Requests page


Configuration of the resource file (EN)


Resolve link now on My Request page


SharePoint experts will probably know other ways to configure and tune the Service Manager portal. The 3 configuration possibilities are out-of-the-box available and doesn’t impact your portal behavior. As you can read in this post, more or less everything on the portal can be adjusted to your needs, only how the web-parts behave is not configurable. If you need to develop a custom Silverlight module using the portal WCF service, this blog is a good starter.

Have fun configuring the Service Manager portal!

Kurt Van Hoecke

Avatar of kurtvh

by kurtvh

HTML formatting email notification templates in SCSM

3:36 pm in Service Manager by kurtvh


As you probably know, in System Center Service Manager you have the ability to create templates to send out email notification in clear text or HTML. This blog post is not going to detail how to configure notification templates in Service Manager, but bundles information around the HTML tags for your mail notification templates.

For completeness, some background information around notification templates in Service Manager:

  • Notification templates are created in the Administration workspace of the SCSM console
  • Notification templates are created per Class.
  • Via subscriptions you can select what class of objects you are subscribing to.
  • Properties of the selected class or properties of a class related to the selected class can be inserted in the template.
  • Procedure to create templates: Creating Notification Templates in System Center Service Manager

A simplified start point for your HTML notification template is to create the desired email layout in MSWord and save it the MSWord document as Web Page (Filtered). You can open the file in notepad and copy/paste the HTML code in the template editor of the SCSM console. From that point you only need to add the class properties to the template and you have a complete customer customized notification templates ready for use in your subscriptions or workflows.

The MSWord approach provides structural definition of the HTML formatted email with a lot of <style> information. In some cases you need to get into the HTML tags in order to configure the desired result. Therefore it is helpful to know a bit what the HTML tags standing for and how you can fresh-up your templates with the proper HTML tags.

Example tags that can be used in your notification templates:

Creating A Hypertext Link to the SCSM Self-service portal: You can open the ticket in the <a href="http://someserver:82/SMPortal/SitePages/My%20Requests.aspx?RequestId=$Context/?$Id$?">Self Service Portal</a> to provide feedback.

  • HTML Tag – <a href="http://someserver:82/SMPortal/SitePages/My%20Requests.aspx?RequestId=$Context/?$Id$?">Self Service Portal</a>
    • A stands for Anchor. It starts the link to another page.
    • HREF stands for Hypertext REFerence. That’s a nice, short way of saying to the browser, "This is where the link is going to go."
    • “http:://someserver:82/SMPortal/SitePages/My%20Requests.aspx?RequestId=$Context/?$Id$?” is the full address of the link. Also notice that the address has an equal sign in front of it and is enclosed in quotes.
    • Where it reads "Self Service Portal" is where you write the text that you want to appear on the page.
    • /A ends the entire link command.
  • You can open the ticket in the Self Service Portal to provide feedback.

E-Mail from your template: <A HREF="">Click here to email Servicedesk</A>

  • Notice that it’s the same format as a link except in this link you write "mailto:" in place of the http:// and you place your e-mail address in place of the page address/URL.
  • You can extend the “simple” mail functionality with a formatted response. For example when create a template to notify a reviewer, you can use the Exchange connector functionality and provide pre-formatted email link to reply on review request.
    • <A HREF=” property to add– make sure you have the [ID] included&body=[Approved]”>Click here to approve request</A>
      • email address to use
      • ?subject=Class property to add– make sure you have the [ID] included – Subject of the email, make sure that you stick on the requirements of the Exchange connector.
      • &body=[Approved] – Sending an [Approved] in the body of the mail will tell SCSM to approve work item via Exchange connector

In order to customize the tags with specific color or so, you need to extend these lines with the proper tags and configuration.

HTML Tags overview

The next overview provides a list of HTML tags you can use in formatting email notifications. The goal of this overview is not to provide a complete HTML Tag reference; for official information about HTML and its development, see the World Wide Web Consortium site at


  • Document Type  <HTML></HTML>  (beginning and end of file)
  • Title  <TITLE></TITLE>  (must be in header)
  • Header  <HEAD></HEAD>  (descriptive info, such as title)
  • Body  <BODY></BODY>  (bulk of the page)


  • Heading  <H?></H?>  (the spec. defines 6 levels)
  • Align Heading  <H? ALIGN=LEFT|CENTER|RIGHT></H?>  
  • Division  <DIV></DIV> 
  • Large Font Size  <BIG></BIG>   
  • Small Font Size <SMALL></SMALL>  
  • Time of Change  <INS DATETIME=":::"></INS>  
  • Comments  <INS CITE="URL"></INS>   
  • Time of Change  <DEL DATETIME=":::"></DEL>   
  • Comments  <DEL CITE="URL"></DEL>   
  • Acronym  <ACRONYM></ACRONYM>   
  • Abbreviation  <ABBR></ABBR> 


  • Bold  <B></B>  
  • Italic <I></I>
  • Subscript  <SUB></SUB> 
  • Superscript <SUP></SUP>
  • Typewriter  <TT></TT>  (displays in a monospaced font)
  • Preformatted  <PRE></PRE>  (display text spacing as-is –> for example if you add a description to the template in formatted text)
  • Width  <PRE WIDTH=?></PRE>  (in characters)
  • Center  <CENTER></CENTER>  (for both text and images)
  • Blinking  <BLINK></BLINK>  (the most derided tag ever)
  • Font Size  <FONT SIZE=?></FONT>  (ranges from 1-7) 
  • Change Font Size  <FONT SIZE="+|-?"></FONT>   
  • Font Color  <FONT COLOR="#$$$$$$"></FONT>   
  • Select Font  <FONT FACE="***"></FONT>   
  • Point size <FONT POINT-SIZE=?></FONT>   
  • Weight  <FONT WEIGHT=?></FONT>   
  • Base Font Size <BASEFONT SIZE=?>  (from 1-7; default is 3)
  • MS Marquee  <MARQUEE></MARQUEE>


  • Link Something  <A HREF="URL"></A>  
  • Link to Location  <A HREF="URL#***"></A>  (if in another document)
                                 <A HREF="#***"></A>  (if in current document)
  • Link to Email <A HREF="mailto:@"></A>
  • Specify Subject <A HREF="mailto:@?SUBJECT=***"></A>  (use a real question mark)
  • Display Image <IMG SRC="URL">
  • Alternate <IMG SRC="URL" ALT="***">  (if image not displayed)


  • Paragraph  <P></P>  (closing tag often unnecessary) 
  • Justify Text <P ALIGN=JUSTIFY></P>  
  • Line Break  <BR>  (a single carriage return)
  • Clear Textwrap  <BR CLEAR=LEFT|RIGHT|ALL>  
  • Horizontal Rule  <HR>  
  • Thickness <HR SIZE=?>  (in pixels)
  • Width  <HR WIDTH=?>  (in pixels)
  • Width Percent <HR WIDTH="%">  (as a percentage of page width)
  • Solid Line  <HR NOSHADE>  (without the 3D cutout look)
  • No Break  <NOBR></NOBR>  (prevents line breaks)
  • Word Break <WBR>  (where to break a line if needed)


  • Tiled Bkground  <BODY BACKGROUND="URL">   
  • Watermark  <BODY BGPROPERTIES="FIXED">   
  • Bkground Color  <BODY BGCOLOR="#$$$$$$">  (order is red/green/blue) 
  • Text Color  <BODY TEXT="#$$$$$$">   
  • Link Color  <BODY LINK="#$$$$$$">   
  • Visited Link  <BODY VLINK="#$$$$$$">   
  • Active Link  <BODY ALINK="#$$$$$$">


  • Define Table <TABLE></TABLE>  
  • Table Alignment  <TABLE ALIGN=LEFT|RIGHT|CENTER>  
  • Table Border  <TABLE BORDER></TABLE>  (either on or off)
  • Table Border  <TABLE BORDER=?></TABLE>  (you can set the value)
  • Desired Width  <TABLE WIDTH=?>  (in pixels)
  • Width Percent <TABLE WIDTH=%>  (percentage of page)
  • Table Color  <TABLE BGCOLOR="$$$$$$"></TABLE>
  • Table Row  <TR></TR>  
  • Table Cell  <TD></TD> (must appear within table rows)
  • Cell Color <TH BGCOLOR="#$$$$$$"> 
  • Comment  <!– *** –>  (not displayed by the browser)
  • Send Search  <A HREF="URL?***"></a>  (use a real question mark)
  • URL of This File  <BASE HREF="URL">  (must be in header)
  • Style Sheets  <STYLE></STYLE> (implementations vary)


Hope this helps in creating the required notification templates in your Service Manager environment.

Have Fun,

Kurt Van Hoecke

Avatar of kurtvh

by kurtvh

“Invoke runbook” isn’t working – called runbook is running, but activity doesn’t start.

9:49 am in Service Manager by kurtvh


We had the following scenario: The Orchestrator install is properly installed on dedicated servers and the database is hosted on a “shared” SQL infrastructure. The company where I was working had his own policies for SQL installations, no idea that this could impact the runbook runtime (correct SQL collation was specified ).

Issue description:

A runbook is monitoring Service Manager Service Requests and based on the information in the request other runbooks are called. The issue we experienced was that the called runbooks are getting in a running state, but never start executing the activities. The proper configuration was made in order to “invoke runbooks”, the properties needed for the called runbook initiation are specified. Every runbook was running when we execute them individually. Non of the runbooks that are called via the “Invoke runbook” activity starts executing the activities.

In the console we could see that the runbook was in a running state, but it simply hangs in a running state. Information found in the Orchestrator log files

PolicyModule.exe log files we saw the following errors: (little summary of the interesting parts of it)

<MsgCode>WorkflowContextComProxy::onPolicyInstanceCreated failed</MsgCode>
<Param>Unspecified error</Param>



RunbookService.exe log file errors:

A lot of different state messages, but one state message that helped us finding a solution for this issue.

Error 524 – Procedure InsertRunbookInstanceInputParameters – Message:A trigger returned a resultset and the server option “disallow results from triggers” is true. (-2147217900)



Issue information and solution:

The error message from the runbookservice.exe log file is indicating a setting on the SQL. Information about this SQL setting can be found here.

In order to check this setting you can run the following query on the SQL instance that is hosting the Orchestrator database.

select value
FROM sys.configurations
WHERE name = ‘disallow results from triggers’

In the environment where we experienced the runbook issue the return value was 1. Like indicated in the log file, this configuration is set on true. The required value returned must be 0 in order fix the runbook issue.

To reset the configuration

exec sp_configure ‘disallow results from triggers’,0

After this re-configuration the runbooks can be called from other runbooks and start executing the activities. Problem fixed!

Honors are for my college – runbook ninja – Stijn Callebaut!


Have fun in the further progress of automating your environment!

Kurt Van Hoecke

Avatar of kurtvh

by kurtvh

Create SCSM Blackberry connector with Orchestrator

9:36 pm in Service Manager by kurtvh


Mobile devices get automatically synchronized once you have SCCM 2012 configured to manage the mobile device (you have an Exchange server connection for gathering the mobile device info) and configured the Service Manager configMgr connector.

If that functionality is not available yet and you need to have a solution to get this information in your CMDB of Service Manager maybe this is a solution for you. In this blog I describe a solution to get Blackberry mobile device information from the Blackberry database and import this information in Service Manager CMDB. Orchestrator runbook approach is used to get and import the information.

Overview of the runbook in Orchestrator:


(simplified runbook to make it working. Additional steps/checks/manipulations can be integrated to accomplish your goals)

Integration packs used in this example:

  • SC 2012 Service Manager IP
  • Data Manipulation IP
  • Monitoring – default IP
  • Utilities – default IP

Note: In this example the Mobile device (SCCM) is used to import the Blackberry mobile devices. You can also create your own class that is based on the Mobile device class in Service Manager and import the information to that class.

Query for Blackberry information

Different possibilities are there to accomplish this task. One approach is more or less explained in this blog. Via PowerShell, csv file and import of the file. This blog explains the Orchestrator approach, simplified…flexible…and controllable.

First you can use the Schedule Date/Time activity to regularly run the runbook.

The Query database activity is used to query the Blackberry database. Configure this activity with the SQL connection to you Blackberry database.


On the details tab of this activity configuration the SQL query can be specified. The following SQL query is an example query to gather the information from the Blackberry database. Note: The Runbook action account will need to have the right to query the database, make sure you have configured this.

use BESMgmt
displayname as "Display Name", phonenumber as "Phone Number", PIN,IMEI as IMEI, modelname as BBModel, PlatformVer as "Platform", BootromVersion , ITPolicyName, AppsVer as "AppsVer", HomeNetwork as "Home Network"
from syncdevicemgmtsummary a
inner join
userconfig b

Additional fields can be selected to your needs. Check the Blackberry database, the tables included in this query include a rich set of information that can be selected in your query.


The information gathered in this query is returned in a single line of information per discovered device.


Before we can use this information it must be split in single string values. For this task we can use the Data Manipulation Integration pack from Codeplex (URL). This IP includes an activity to split fields based on a character that you can specify. We have “;” separated file as output, so all information is there to configure this activity.

Input string for the split is the output of the query Blackberry database activity:


Full configuration of the split fields activity:


Result of this manipulation is that you can create a little overview of the mapping of information towards Service Manager. An example of a property mapping:


(default Mobile Device (SCCM) class properties)

Working with the Blackberry information

The information is gathered from the database and manipulated in a formation so we can use it to import that information in Service Manager. We have to make sure that new devices get created and existing devices get updated. The “Get Mobile device Object” activity is looking in Service Manager and based on the results of this query we can see if the mobile device needs to be updated or created.


The selection to see if I need an update or a create is in the link filter. We can check on the returned objects from the “Get”. No objects returned, this must be a new mobile device…normally one object returned if the device already exists and we can do an update.



Update the mobile device object in Service Manager

There are different option on this level. You can do several checks with the Compare activity from Orchestrator or simply update a predefined set of properties. In this example we update a set of properties during each runtime of the runbook. I recommend that you have made the mapping what information is stored in what field before starting to configure the update object activity.

Use the “Update Object” activity from the Service Manager IP:

Class: Mobile device (SCCM)

Object Guid: SC Object Guid  –> output of the Get Mobile device Object activity.

Fields: Select the fields that you want to update…


Overview activity configuration


Create new Mobile device (SCCM)

In the runbook there is an additional check included to verify the IMEI information. This because it is used as input for the ID of the Mobile device object to create.

Once the IMEI number is verified (the information is filled by the query) the Mobile device object can be created. In the explanation of the split activity an example overview of the property mapping is provided. This is used as input for the configuration of this activity.

Use the Update Object from the Service Manager IP:

Class: Mobile device (SCCM)

Fields: Select the fields that you want to update…


and map these fields to the output of the split activity…


That’s’ about it…CI’s get created and updated on the schedule you have provided on the runbook.

Many variants of configurations are possible, all depending on what information that you want to have in your CMDB. Simply replace the Query to a datasource of your needs, get the information and import the data in your CMDB. All manipulations or check can be done by your runbook before actually importing or updating the CI in Service Manager.

Have fun,

Kurt Van Hoecke


Avatar of kurtvh

by kurtvh

Working with SCSM reporting

6:05 am in Service Manager by kurtvh

In Service Manager you have the possibility to extend the classes with additional properties. For example, the Incident class can be extended with a “Location” property. How to do this is explained in different blog articles  around SCSM. The reason why you extend the class can be for visualization, but in most cases this is done for reporting purpose. The Process owner wants to measure on this property.

This blog articles provides some more information what you need to do in Service Manager (2010 or 2012, no difference in versions) before you can actually start customizing your reports.

The information that you want to make visible has an impact on the procedure to prepare the DWDataMart database in order to be able customize the report in Report Builder or Business Intelligence Design Studio. The following figure provides an overview of the important components that builds-up your reporting environment.


Some explanation around the illustration.

It starts with the import of the information (custom class property) via a sealed management pack if you need extended information in your report. Once you need to start reporting on this extended class property, first point to know is what information you need to make visible in the report. If it is a direct class property (string, int…), a list or a relationship property. Each of these class property flavors demand for different preparation work and maybe demand for an additional management before you can report on this values. A little overview:

  • Direct class property: The default property values are synchronized with DWDataMart. The View “dbo.IncidentDimvw” for example holds these default properties and extended properties from sealed management packs. Same for other classes that are available for reporting.
  • List class properties: In order to enumerate these values in a custom report you need to create an <Outrigger> MP.
  • Relationship class properties: Relationship property is in most cases to a standard class property. For example, Incident mgmt reporting where you want to have the AffectedUser displayed in a column. If the relationship property is an own extended property, you need to create the required Views in SQL DWDataMart database.

The SQL Stored Procedure (SP) holds the information that you want to display in your report. When you need to create a custom report that requires additional values that is not available in the default SCSM delivered Stored Procedures you need to create your own SP. Start point of your own SP can be a copy of an existing one, this gives you a quick start. To extend the SP so that it holds the additional properties for reporting you need to keep following in mind:

  • Direct class property: The SQL View “dbo.IncidentDimvw” includes automatically this information. For example, you want to extend a report for Incident Management. A direct class property column must be added. You use a copy of the “ServiceManager_Report_IncidentManagement_SP_GetListOfIncidents” SP as basis for your custom SP. In this SP the SQL View “dbo.IncidentDimvw” is already included. With a single line you make this information available in your own SP.
  • List class properties: To get this information available in the SP you need to translate the GUID (direct property in the “dbo.IncidentDimvw” View) with the additional Views that are created via your “Outriggers MP”.
  • Relationship class properties: To extend a SP to include a relationship property for reporting you have to start enumerating the relation in the SP. For example, if you need to get the AffectedUser name in the custom report; via the “WorkItemAffectedUserFactvw” View you find the AffectedUser and properties can be found in the “dbo.UserDimvw” View.

After having this done in your SCSM and SCSM DW SQL environment you can start customizing the report. Details how to do this can be found in following blog articles:

This blog post doesn’t provide detailed information where to click in different console, but tries to help positioning what you need to do for customizing reports in SCSM. The referenced blog post include procedures how to realize the different tasks.

Hope this helps start customizing reports in SCSM.

Have Fun!

Kurt Van Hoecke

Avatar of kurtvh

by kurtvh

Publishing SCSM 2012 Work Item to a SharePoint calendar.

11:05 am in Service Manager by kurtvh


There is an updated version of the “PublishWI’ tool available on CodePlex.

The issue when you run the previous version in an SCSM 2012 environment (tested with the release candidate – “can’t find System.WorkItem.Library”) is addressed in this version. The tool is tested against a SharePoint 2010 environment.  Same remark as on the original post, if you have issues running this tool against earlier versions of SharePoint, let us know via CodePlex discussion.

The usage of the tool remains the same, so you can follow the original post to configure it for your environment ( Change Calendar. Publishing Work Item to … Part 1. SharePoint Calendar). People who already use the tool can simply replace the exe file.

The updated version of the tool and Source Code can be downloaded from CodePlex:

Have fun!

Kurt Van Hoecke

Technorati Tags: ,,
Avatar of kurtvh

by kurtvh

Service Requests, Service Catalog, Service Offerings, Request Offerings… how it all fit together in SCSM 2012.

10:12 am in Service Manager by kurtvh


System Center Service Manager 2012 supports Service Request Management and fulfillment. We have several complete procedures in blog posts (here and here) to create all the components to enable this functionality for your environment. With this blog post I want to provide a more high level overview on how it all fits together.

First let me give you an overview of the terminology (like explained on TechNet):

  • Service Catalog: The Service Catalog is a collection of items, assistance, action, or groupings of them that is provided by your IT staff and infrastructure and made available to end users in the Self-Service Portal.
  • Request Offerings: The Request Offerings are catalog items that describes an item, assistance, or action that is made available available to end users. It also defines information that you want to prompt the users for and any knowledge articles that are associated with the offering.
  • Service Offerings: Service offerings are logical groups of request offerings.
  • Service Offering Categories: Are categories to help organize service offerings that are provided to end-users through the service catalog.
  • Service Request work item: SCSM work item that holds all information around the request that is submitted.

A refection of these components to the end result in the self-service portal is illustrated below.

Self-service portal Home page:


Example Service Offering overview page:


Example Request Offering questions:


Now if we look at all of these items that we need to configure, there are a lot of steps to take before you have it all configured for your environment. Everything together is the Service Catalog for your environment and the interface is the self-service portal. It is important to build-up this functionality for the end-user in logical way.

First item to think about is “what are you going to offer to the end-user”. Maybe you have your Service Catalog already defined,  in other scenarios you have to look to your environment and start defining your Service Catalog.  (Service Catalog management information from TechNet blogs can be found here and here – or MOF Online Content: Service Level Management ) This information will provide input for the configuration of the Service Offerings and the Service Offerings Categories list items that need to be created in SCSM 2012.

Next item to think about for each Service Offering is “What are the requests the self-service portal user can make for the defined Services”. This is very specific for every environment. This can start from something basic to a full automated process with Orchestrator RunBooks for example. The input that is needed from the requestor to complete the request are the question that need to be configured in the Request Offering in SCSM. The input of the requestor can be mapped to activities in the service request work item. For example, One of the questions on the Request Offering is to ask for a motivation for the request and this motivation can be mapped to the description field of the Review Activity from the request. Another example is to use this information as input for the Automated RunBook Activity. Little overview of Request Offerings:

  • The Request Offerings definition will define what the self-service portal can request. Keep in mind that the Request Offerings can be targeted to a subset of users. These offerings need to be added to the corresponding Service Offering.
  • Service Request Templates can help defining the activities that are required to fulfill the request. Can be a complete process with Manual, Review, Automated RunBook…all kind of Activities in SCSM.
  • Spending time to automate certain processes is not only free-up time for support desk, it is mainly standardization where we need to look for. Take the example of example of an AD user creation request, automating the process is always applying the naming conventions and making sure that every is created in the same way, with the same set of properties specified on the AD object. In SCSM 2012 this is just a matter of formulating the proper questions in the request Offering and use this information as input for the automation like Orchestrator Runbooks. In this way it easy to delegate the certain tasks out-site the IT support…

The whole process is illustrated below:



This is a very nice functionality in SCSM 2012. Hopefully the above information makes it a bit more clear. Together with the referenced procedure to configure the items in SCSM 2012 you have a complete set of information to start implementing self-service for your environment.

The pizza service delivery

For fun, below I have provided an overview of the process elements mentioned in this blog post, but applied to a pizza service delivery. The process components are defined with the things that living in a pizza restaurant Service delivery Process. We all know the pizza stuff, in this process illustration you can see the Service Management on this…

service requests


Have fun,

Kurt Van Hoecke