Posts Tagged ‘Service Manager’

Hi All,

It has been a little while, i have been quite involved with an Integration Project. With this project there was a requirement to add comments to a Work Item. The information is passed on from “System A” to “System B” via XML. Using PowerShell, extracting the XML contents is not too difficult, if anyone would like to dive into that a little bit, please let me know with Comments.

I decided not to re-invent the wheel, so some searching was in order, and I found the following post, this post gave the basics. However every time I tried to add additional comments, the comments were over-written and NOT replaced. Not quite the desired effect. So after some more checking and research and tinkering within the Service Manager, I discovered the following about comments.

When adding a Comment, there is adding of a relationship class, already mentioned in this post, however it also uses a GUID.


There is also another trick to adding comments within Orchestrator, this is discovered by trying to add a comment and then pulling all the available fields and looking at them. It is a small component which can be easily missed. The “Display Name” must also be the same GUID. So you might be asking how do we get the GUID?

Well, PowerShell can easily handle this for you.

$guid = [System.Guid]::NewGuid().ToString()

You simply use this a pre-cursor step and publish this data from “Run .Net Script”, so a sample would look like this.


Get-Object Properties

I pass on the ID Value I want to modify from another Runbook


Create Related Object Properties

I use an “Extended” class of comments needed for this project, principal remains the same.


I hope this saves  you some time and add some value.


(E-Mail me)


Follow me,


Twitter (Personal & System Centre)

 Twitter (System Centre Focused)


I have previously done a post on CIreson IT Asset Management. However the people at Cireson have been very busy with new features to be added to their ITAM (IT Asset Management) tool.

Cireson Asset Management: New Feature Highlights

After recently releasing the newest version of the Asset Management app for Microsoft System Centre (Features Press Release), this post goes a little more in depth to explain some of the amazing features included in this latest release. Always striving to make life easier and more productive for those who use and implement SCSM, they put a lot of thought into the features clients asked for and updates everyone was clamouring for.

Highlighted below are a few of notable enhancements, including the Cireson full Asset Catalogue, Location to IP Awareness, Contract Management and Reporting.

The full Asset Catalogue found within the Cireson Asset Management app allows users to define standard hardware types, as well as information such as model, manufacturer, and price. With access to a comprehensive yet simple and informative page view with all the relevant information in one place, users can better manage the standardization of asset types no matter what the scale of the organization.

Location to IP Awareness is now also an incredibly exciting feature. This function tracks where hardware assets exist, and also allows for hardware to location awareness based on IP address – information which is provided by System Centre 2012 Configuration Manager. This is a great example of how Cireson works to utilize all System Centre components in order to provide the most insightful and rich experience possible.

Expanding on the extensive Contract Management capabilities of the Asset Management app, the new version boasts the ability to perform full contract management with different types of contracts that relate to various software and hardware assets under management. Support and maintenance contracts, leases, and warranties represent the main areas of contract management. Highly unique to the Cireson app is the ability to manage contract status via a built-in SLA engine, with notifications upon near breach or expiration of a contract’s end date.

In addition, the superior reporting functions of this new version allows for comprehensive reporting based on asset data from the data warehouse and cube reporting engine within Service Manager. These rich out-of-the-box reporting solutions cover contract, hardware asset, license, and software asset reports, amongst others.


Other enhanced capabilities of the Cireson Asset Management app now include, app metering data tracking against software asset types to understand installation vs. utilization vs. purchased count, and over 250 brand new features that make the System Centre Service Manager experience better than ever before.

For more information, videos, and overviews relating to Cireson Asset Management for System Centre, visit the app store at

(E-Mail me)

Follow me.

Facebook (Personal)

Twitter (Personal & System Centre)

Twitter (System Centre Focused)

Cireson have recently released an new enhancement to the Service Manager console called the Cireson SCSM Asset Management App. This particular application is very easy to install. To install the application into the console, it is simply a case of importing a few management packs and some XML files and DLL files. This is very easy to do and the installation instructions provided by Cireson are very simple and easy to follow as with all Cireson add-ins I have worked with in the past.

In order to get the full benefit from the Cireson SCSM Asset Management App, I would highly recommend that the Configuration Manager Connector be enabled within your environment. However, this is NOT a necessity. Within my environment as I run mine as a Lab, it is not always possible to have all the connectors enabled all the time. I was very easily able to configure my workflows (come with the Cireson SCSM Asset Management App) to work and pull in the required information.

A sample of my workflow configuration is below. The workflows and settings for the Cireson SCSM Asset Management App are found under the Administration Wunderbar and then settings as with all Cireson applications.

There are settings for both Software and Hardware Collections.





A little lower down on the Hardware tab, this is where the Configuration Manager Connector would add a tremendous amount of value as you can reference different  value to be used as a Hardware ID. So, if you had the Configuration Manager Connector enabled, you could reference a Serial Number or Asset Tag. However, it is perfectly feasable to reference Principal name.


Under the “Miscellaneous”  tab, is where the logging is configured, which is amazingly helpful for troubleshooting.


(E-Mail me)

Follow me.

Facebook (Personal)

Twitter (Personal & System Center)

 Twitter (System Center Focused)

I have always heard complaints from some of the analysts in my company about having to install the Service Manager Console on their machines and then complaining about having to learn a new application.

So, I went searching around and found a great application called Cireson SCSM Web Console, this allows analysts to update Incidents via a newly designed web portal for Analysts. Since the console is designed in HTML5, the web console is browser agnostic. This face also helps some companies to adopt this as it allows analysts to use all types of devices to update incidents.

The guide provided to install the application is Comprehensive and easy to follow. Just make sure you do all the steps. I have added some screenshots of errors I got along the way, trying to “jump the gun” and see the new Web Console in action.

“Issues and Errors” I ran into, all of which are easily fixed.

Server error in ‘/’ Application


This error is pretty much self-explanatory, I tried to open the console before the Cireson Management Pack had been imported. A simple fix, import the Management Pack.


Again, this looks intimidating. This is very easy to fix if you look at error. When you are going through the installation guide, it is very easy to miss a step. Like this, when configuring the web.config file with Active Directory Connector information, it is very easy to find the space for the DN Name of your domain. When the above happens, it is simple a case of not adding the full DN for a DOMAIN CONTROLLER.

But now, onto the console in action. Just one side note, for now the Cireson SCSM Web Console handles only incidents, I have heard that plans are in progress for the Cireson SCSM Web Console to be extended to include Service Requests and potentially Problems, WOW!!!!!!

The Cireson SCSM Web Console is really easy to navigate and very easy to understand, anything you can do in the actual console, you can do on the Cireson SCSM Web Console. So, if you make the Cireson SCSM Web Console publically available, your Analysts can update from anywhere with any device as the Web Console is NOT dependent on Microsoft Silverlight.

As you can see below, the Web Console is very nicely put together and gives you all the information you need at a quick glance.


You can click an incident to open it and you will be presented with some detailed information regarding the incident as can be seen below. You can also “Edit Incident” from the Web Console to update it.


From the top Level Tabs, you can see you access all the information you could regarding Incidents


Below are screenshots of each “Section” from the Top Level Menu”

Incidents can also be LOGGED from the Web Console, displaying all information from your SCSM Implementation


The “My Team’s Incidents” leverages the groups and information provided during the installation of the Web Console and provides a consolidated view of the Incidents assigned to the “Support Group” to which the currently logged on user is a member and this works very nicely with Cireson SCSM Group Assign


The “All My Incidents” View provide a view of all incidents assigned to the currently “logged on” user.


The “All Incidents” view provides an overview for all incidents within your Service Manager environment. By default, only active incidents are shown, you can select the checkbox to show resolved incidents.


The “Search Incidents” views allows you to search via a number of different fields, making it really easy to find any incidents you are looking for.


The “Configuration Items” view is the representation of the CI Items within the organization on the Web Console.


The Cireson SCSM Web Console is a great addition to your Service Manager environment. It allows incidents to be updated quickly and easily from any device. I would highly recommend it.

(E-Mail me)


Follow me.

facebook-small322252222 Facebook (Personal)

twitter-small322252222Twitter (Personal & System Center)

scsmlogo252 Twitter (System Center Focused)


So one of the biggest issues I have with Service Manager is actually user based as seems to be quite difficult to teach the concept of this for some strange reason. So, as a work-around I have created views that cater for the issue I am about to discuss.

The issue is as follows, when a Work Item gets re-assigned to a new Analyst, 99% of the time, the associated Support Group does NOT get changed. Let’s take the following example.

An incident is logged and is automatically assigned to the “Service Desk” team, now an analysts investigates the incident and determines that the incident actually belongs to a member of the “Network Team”. So, typically, the “Assigned to” person is changed and the new analyst will get an e-mail stating that a call has been assigned to him/her. However, the incident now reflects the following

Analyst : Network Analyst Thumbs up

Support Group : Service Desk Thumbs down

So basically, if you were to have a queue or view that shows up all incidents assigned to the “Network Team”, this incident would not show up however the analyst has received and e-mail stating that an Incident has been assigned to him/her, it can of course be found by using “Assigned to Me” View.

There is a solution here. Enter Cireson and their fantastic applications for Service Manager. SCSM Group Assign allows the extended functionality of selecting the required Support Group and then NARROWS the list of Analysts to that specific group. This ensures that BOTH the Support Group and Analyst are changed at time of re-assignment, making the creation of views and Queues a lot simpler and then ensures that your views based on Support Group are 100% accurate. The solution extends the context pane and adds a “Assign Analyst by Group” option


What SCSM Group Assign allows you to is the following (this is my test lab), you will however get the idea.

Below is a screenshot of the groups that I have created within Active Directory to “illustrate” my different Support Groups. You will see a few groups.

1. For all analysts

2. To represent different support Groups (I have called them Tier 1,2 and 3, as this is the vanilla experience with SCSM)


Ok, so below is a screenshot of a re-assignment using the new “Assign Analyst by Group” option. For this example I have used “Tier 1”. Note how the “Analyst” selection is limited to only 2 Analysts as per my groups earlier. Namely Analyst 1 and Analyst 2.

Tier1-group assign

The next screenshot depicts the same process only to “Tier 2” this time. This time the selection is limited to Analyst 3 and Analyst 4.

Tier2-group assign

The re-assignment is logged in Service Manager in the exact same way as any analyst assignment. This is an extension of the capabilities of Service Manager.

I would highly recommend SCSM Group Assign for any Service Manager installation.



Follow me.



So, I recently made a very simple comment on Facebook. This lead to some interesting comment and questions being raised about Service Manager about “Training for Service Desk” staff” in particular. At this moment in time, there is no “Service Desk Staff” training that I am aware of. So I decided to try and address this as best I could.

I have decided to consolidate some of the more important components and concepts of Service Manager and place them in one spot. I will be looking at all facets of Service Manager and trying to give ideas and concepts aimed at Administrators, Analysts and End-Users and provide some tools that I think are invaluable to modifying and making Service Manager more focused around your business.

For a complete glossary of terms used in Service Manager, click here


For Service Desk Staff, I would start with the Operations Guide, this contains all aspects of Incident, Problem, Change and Service Requests as well as some other aspects including reporting which should be used by an Analyst. Here are some nice videos

Tweaking for your business

So now, onto the more “nitty-gritty” of making Service Manger yours and making it suit your business and understanding the concepts of Service Manager. I would highly recommend the Microsoft Virtual Academy for all studying requirements. This System Center 2012: Orchestrator & Service Manager course is aimed specifically at Service Manager, however this Introduction to Systems Management & Service Delivery would also be worth a look.

Now that we should be a little more comfortable with the concepts of Service Manager, the single best resource for Service Manager that I can think of, and it is run by Microsoft Staff is the System Center: Service Manager Engineering Blog. You will notice that a lot of the entries I reference will be from the blog above. I have listed these below.

System Center 2012 – Service Manager 101: Focus on Incident Management – Very nice blog post

Implementing Sample Helpdesk Scenario in Incident Management – 1

Implementing Sample Helpdesk Scenario in Incident Management – 2

Routing Incidents Submitted by Email

Configuration Items

Another really nice and often overlooked component of Service Manager is the CMDB, which allows all your Configuration Items to be stored in a Central Location. There are also a lot of built-in connectors which allow Service Manager to “talk”/gather information from a lot of Microsoft sources. These are listed below.

Connectors to Import Data – includes

Active Directory – Used to create your users within your Domains as Configuration Items, used primarily for “Affected User” and “Assigned To” users

Configuration Manager – Used to import configuration Items from SCCM relating to Computers and Software Inventory and other data you have configured within your SCCM environment

Operations Manager – this has two connectors.  1 for Configuration Items and 1 for Alerts.

 Orchestrator – Used to connect to the Runbook Service to allow for Runbooks to be referenced within Service Manager for the automation of tasks.

Virtual Machine Manager – Used to import Configuration Items from Virtual Machine Manager including Virtual Machine information including Service Templates, Location, host nodes and the like….

CSV File – Can be used to import information from a CSV file and creating Configuration Items.

Some links below about creating Custom CI’s

Creating Custom Configuration Item Classes Using the Service Manager Authoring Tool

Creating custom classes in System Center Service Manager 2010

How to create a new CI class and a new form

Creating a New Configuration Item Class in System Center Service Manager – YouTube

Tools and “Essential” Management Packs

So, now I move onto a section very dear to my heart. This is where you can modify the Console and/or workflows to meet your requirements. I will suggest some “add-on’s” that I use in all environments, whether they are Customer Facing, Internal or Test/Lab environments. I will supply a link to the Management Pack/Tool/Workflow and a short description of what they do and why I insist on using them and some potential “gotchas”

Lots of additional tools and/or management packs can be found on Technet Gallery, I have narrowed down the link to be Service Manager specific

Cireson Auto Close App – This is a great which allows for the easy closing of Work Items. I have blogged about this previously.

Advanced View Editor – great for modifying views within Service Manager, also allows you to edit XML for Management Packs (specifically “criteria”) on the fly. Also allows you to change the generic Display for Affected User and Assigned To user to a more descriptive value. More of his tools can be found here. Follow him on twitter here.

Notification workflow on Work Item assignments – This is great to automate the notification of the assigned to User with Incidents and Changes, this is great. I have also modified this to work with Service Requests and I have uploaded it to Technet Gallery.

Notify Analyst When End User updates Incident – This is actually a subscription that is setup. It can also be easily modified to work the other way round and notify the End User when the Analyst updates the incidents.

Mail Notification: Remind Reviewers – This is particularly helpful when it comes to Change Management, as a lot of Review Activities can be sent out and most times the e-mails are ignored. So this Management Pack automates this task of sending out reminders. AndersAsp blog can be found here

Exchange Connector – This is a great for Analysts to use to update calls and use your Exchange Environment to your advantage for updating work items, I have blogged about this previously. Please note: Any comment added via the Exchange Connector is treated as an “Analyst Comment”and marks the comment as “Private”. Please keep this is mind for workflows.

Another great source of information is the System Center – Service Manager – Technet Forums

I have also setup an new e-mail address to help with Service Manger queries. you can e-mail me at systemcenterguyza ”at” live ”dot” com  ( and I will assist as much as I can.


Follow me.

facebook-small322252222 twitter-small322252222


Just recently I was looking for a way to notify users about Inactive incidents as I have some departments that tend to ignore their work items and an e-mail about their “untouched” incidents seems to motivate them. So after some searching I found this script from Andreas Baumgarten

Please note : I only modified this script to extend its use to other Statuses to be monitored. All credit for the script goes entirely to Andreas Baumgarten

Code is below

# Configure Last Modified Days Before
$ModifiedBefore = 3

#Configure Incident Status
$IncidentStatus = 'Active'

# Configure your mail server, the recipient and the sender of the mail
# $smtphost=”mailserver.yourdomain.local”
# $from=”mail@yourdomain.local”


# Send-Mail function
function Send-Mail
$smtp = new-object$smtphost)
$mail = new-object System.Net.Mail.MailMessage
$mail.from= $From
$mail.subject= $Subject
$mail.body= $Body

# Some other variables
$BeforeDate = (Get-Date).AddDays(-$ModifiedBefore).ToString("MM/dd/yyy HH:mm:ss")
$Status = Get-SCSMEnumeration IncidentStatusEnum.$IncidentStatus$
$AssignedUserObjectRelClass = Get-SCSMRelationshipClass System.WorkItemAssignedToUser
$IncidentClass = Get-SCSMClass -name System.WorkItem.Incident$

#Get all incidents last modfied xy days before
$Incidents= @(Get-SCSMObject -Class $IncidentClass | Where {($_.Status -eq $Status -AND $_.LastModified -lt $BeforeDate)})

If ($Incidents.count -gt 0)

#Get all assigned incidents from list
foreach ($Incident in $Incidents)
# Get AssignedToUser
$AssignedUser = Get-SCSMRelatedObject -SMObject $Incident -Relationship $AssignedUserObjectRelClass

# Incidents AssignedTo is not NULL
If ($AssignedUser.Displayname -ne $NULL)
#Get email adress of AssignedToUser
$EndPoint = Get-SCSMRelatedObject -SMObject $assignedUser -Relationship $UserPref|?{$_.ChannelName -like '*SMTP'}
$Sendto = $Endpoint.Targetaddress

#Create Output
$Output = 'This Incident has been inactive for ' + $ModifiedBefore + ' day(s): <br>' + $Incident.ID + ' - ' + $Incident.Title + ' - Last Modified: ' + $Incident.Lastmodified
#Send email
$To = $Sendto
$Subject = 'Inactive incident for ' + $ModifiedBefore + ' day(s): ' + $Incident.Id + ' ' + $Incident.Title
$Body = $Output
Send-Mail $From $to $Subject $Body

Remove-Module SMlets -force 

Okay, so now that the code is there, I had to make some modifications in order for the Code to work with “NON-DEFAULT” Incident Statuses. I have created some additional Pending statuses.

The key line in this code is

Configure Incident Status
$IncidentStatus = 'Active'


$Status = Get-SCSMEnumeration IncidentStatusEnum.$IncidentStatus$

This allows you specify the Status. However if you use additional “NON-DEFAULT” statuses, this would need to be modified to suit your needs. You would need to modify the line of code to read as follows.

$IncidentStatus = 'Enum.847741a452db4d529741005ea73aead8'


$Status = Get-SCSMEnumeration $IncidentStatus$

You will notice the change of $IncidentStatus to a “ENUM” Value as this is a “NON-DEFAULT” value, you need to use the ENUM value. This can be gotten by using the following with SMLets

Get-SCSMEnumeration | Format-list | out-file

Below, is a screenshot to help illustrate this further.


Once you have a list of all your Enumerations, then search for the required value, for example “Pending – Waiting for 3rd Party”, you will then see a “Name” value and that whole string is your ENUM value.

You will also see that the $Status line has been changed to cater for the ENUM value.

Modify to meet your needs and create a workflow if you want to.

Follow me.