Archive for Service Manager

For our Swedish audience we are happy to introduce a half-day session in how Service Manager 2012 and Orchestrator 2012 can ease your daily IT operation burden by automation. This session is arranged by our partner Expero and is in Swedish. For more information and to book your seat click here

If you want even more hands-on experience on how Service Manager 2012 and Orchestrator 2012 work together we would recommend you to book a seat in our 2 days Labshop were we will be working with these products and see the full potential of the integration. Book your seat here


Sorry all non-Swedish speaking people out there… And congrats for those who understand Swedish! There is a series of online seminars about System Center 2012 taking place this spring with some great Swedish speakers. The seminars will be covering:

  • PowerShell
  • Configuration Manager 2012
  • Operations Manager 2012
  • Service Manager 2012 (my seminar)
  • Data Protection Manager 2012
  • Orchestrator 2012
  • Application Controller
  • How to build your automated data center with System Center 2012

For more information and registration:–SystemCenter2012onlineseminars


Comments (0)

Going to MMS 2012? Want to see a demo bursting session? Come and see how your application lifecycle can be managed with System Center 2012!

This session will unveil the Application Lifecycle Management using System Center 2012 and Team Foundation Server (TFS). Learn how TFS in collaboration with System Center products can assist you building, deploying, operating and optimize your Application Lifecycle. See how we integrate System center and TFS to track and deploy the application. Understand how Operations Manager detects, Service Manager tracks, Orchestrator automates and TFS manages and controls the Application Lifecycle.

More info at: (keyword: lifecycle)

Categories : Service Manager
Comments (0)

A few weeks ago, I was in the “studio” with my colleague Jonas Ullman and some fellow Expero instructors recording System Center 2012 presentations. So if you understand Swedish and would like to see how Service Manager 2012 and Orchestrator can bring fully automated self-service to the table, Enjoy!

Comments (6)

When creating views in System Center Service Manager, displaying a property of a related object can be accomplished by targeting a combination class, a.k.a. type projection. The wizard that is used to build views in the SM console let you choose which of the related objects, e.g. the affected user of an incident, that you want to bind a column to in a view. This works for all relationships that are constrained to only allow the “source object” (e.g. an incident) to relate one “target object” (e.g. the affected user). The limitations are described in detail in this blog post:

As described in the blog post the reason why we’re not able to select objects that are related to the “source class” based on a one-to-many relationship is based on the complexity around providing features like sorting etc.

Now let’s say you’re ok with not being able to sort on a column like this and would find some kind of value in showing the display name of one of your affected configuration items in a view. Maybe the reason is that you want to know if the incidents listed in the view has defined affected configuration items or not? If so, then you could make use of a XAML (which is the language that WPF and Silverlight is based on) feature that lets you bind to one element in a collection using an index. The abstracts below shows how you force a view to show one of the related objects from a “one-to-many” relationship by data binding to an index of a collection of related objects.

The first section shows a type projection defined for the purpose of having a view showing the affected user and affected configuration items of an incident. The reason for creating this type projection instead of using e.g. the “Incident (Advanced)” type projection is only for performance reasons; always try to minimize the number of components used in a type projection used by your views. Since I only need the two I created a type projection that only contains the two.

Type Projection

<TypeProjection ID="Gridpro.Incident.TypeProjetion.AffectedItems" Accessibility="Public" Type="CoreIncident!System.WorkItem.Incident">
    <Component Path="$Target/Path[Relationship='WorkItem!System.WorkItemAffectedUser']$" Alias="AffectedUser" />
    <Component Path="$Target/Path[Relationship='WorkItem!System.WorkItemAboutConfigItem']$" Alias="AffectedConfigItems" />

Next abstract comes from the input parameter of my view that tells Service Manager that I want to makes use of the type projection described above.

View – Item Source Query Parameter

	<QueryParameter Parameter="TypeProjectionId" Value="$MPElement[Name='Gridpro.Incident.TypeProjetion.AffectedItems']$" />

The final abstract shows how to make use of the index when binding to the affected configuration items. Notice the “[0]” written behind the type projection component alias AffectedConfigItems.

View – Column definition

<mux:Column Name="AffectedConfigItems" DisplayMemberBinding="{Binding Path=AffectedConfigItems[0].DisplayName}" Width="100" DisplayName="Header_AboutCI" Property="AffectedConfigItems[0].DisplayName" DataType="s:String" />

In the picture below you can see the example view provided in the following management pack:

Indexed binding

It’s here(!), now everyone can start providing their users with fully automated self-service based on pure System Center technology. Since yesterday you’re all able to download the beta version of System Center Service Manager 2012 and the RC version of System Center Orchestrator 2012. These two products are the core components in the new rich self-service portal experience provided by System Center 2012. Where Service Manager is the product that defines tracks and exposes your IT services, Orchestrator is in charge of the automated request fulfillment (delivering the service…). By having Orchestrator utilizing the other SC family members you can easily provide rich service to your users.

To start evaluating System Center 2012 products, download current versions from here:

Comments (0)

Big news! As some of you may know our company Gridpro announced the general availability of WebFront for Service Manager last week. WebFront for Service Manager is a Silverlight based web console that delivers functionallity very similar to what the standard console does for work items such as: incident-, problem-, activity- and change management. In the initial release the functionallity is focused around these work item types but the roadmap includes management of configuration items and other areas that’s included in the System Center Service Manager roadmap.

For more videos showing the product in action:

For information on how to evaluate and get a hold of the product:

Categories : Service Manager
Comments (2)

During the past two weeks I’ve been asked several times if it’s possible to copy templates in Service Manager. Since Service Manager currently doesn’t provide that specific functionality I had no choice but to write a tool for it. :)

The tool is currently a stand-alone application (but might be integrated as a console task further down the road). It lists all your object templates and enables you to create copies of a selected template. This will save you some time if you’re creating lots of templates with small differences.

Since this is a beta, please use the tool in a non-production environment when creating the copies and then transfer the management packs to the production environment afterwards.

Download “TemplateCopy for Service Manager – Beta 2″


Categories : Service Manager
Comments (5)

We’ve reached the final steps of writing the Service Manager Unleashed book! Not only is this a great feeling but it also means that I’ll have some more time for writing blog posts!

I would like to thank all my co-authors for their hard work. Well done!

I hope this will provide lots of peopled with some grateful guidance, go pre-order it today at:


Categories : Service Manager
Comments (2)

Affected User SMTP Address

Posted by: | Comments (6)

Last week I got a question on how to get the smtp address of the affected user in an incident using PowerShell. The scenario where the question surfaced was when a friend was trying to execute a PowerShell script that would send an email message to the affected user of an incident in a custom console task (targeting the Incident class).

After some investigation I came up with the following PowerShell script which should do the trick.

# Author: Patrik Sundqvist
# Author blog:
# Requires: SCSM PowerShell Cmdlets (Beta 1 or later)
#Pass the id of the incident you want to get the affected user smtp address for as command line argument to the script
#Example: "GetAffectedUserSMTP.ps1 IR58"
Import-module smlets -Force
$affectedUserRelClass = Get-SCSMRelationshipClass System.WorkItemAffectedUser$
$userPref = Get-SCSMRelationshipClass System.UserHasPreference$
#Update done 2011-04-05 based on blog post comment from German Minicucci, thanks for the feedback!
#Locate the incident you want to find the affected user smtp address for
$incident = Get-SCSMIncident -ID $incidentId |%{$_.Object}
#Make sure there was an incident located with the given id
if($incident -eq $null)
    Write-Host 'No incident exists with given id'
    #Get the affected user in the located incident
    $affectedUser = Get-SCSMRelatedObject -SMObject $incident -Relationship $AffectedUserRelClass
    #Make sure there is an affected user specified in the incident, else abort
    if($affectedUser -eq $null)
        Write-Host 'No affected user is given for the incident'$incident.DisplayName
        #Get the endpoint related to the affected user that specifies the smtp address
        $endPoint = Get-SCSMRelatedObject -SMObject $affectedUser -Relationship $userPref|?{$_.DisplayName -like '*SMTP'}
        if($endPoint -eq $null)
            Write-Host 'There is no smtp channel declared for the affected user'$affectedUser.DisplayName
        if($endPoint.TargetAddress.length -gt 0)
                #Output the located smtp address
                Write-Host $endPoint.TargetAddress
                #No valid smtp address located for the user in the CMDB
            	Write-Host 'No valid smtp address found for user'$affectedUser.DisplayName

The result can be seen in the picture!