SCSM 2016 / SCOM 2016 – SCOM 2016 Console Crashes After SCSM 2016 Console Installation

boom

Have you ever installed System Center Service Manager 2016 and System Center Operations Manager 2016 console on the same system? Depending on the installation order, the SCOM console will crash with multiple errors like this…

image

…and the console will appear empty or crash totally. We had the case, that the SCOM console was installed first and the SCSM console afterwards. It is a known issue and MVP Eric Berg as blogged about it in German, check his post here.

Because this error has massive impact and I was also affected by this nasty bug I will re-write it in English and pimp this post with some nice screenshots :).

The problem is the Analysis Management Objects (AMO) 2014 package which is being installed by the SCSM 2016 console installation. What you could do, is uninstalling the Analysis Management Objects (AMO) 2014 package and run a repair installation of the SCOM console.

image

A better workaround is the following (taken from Eric Berg’s blog)…

Continue reading

Experts Live Switzerland 2017 – Speaker

image

I am very proud to be speaking at Experts Live Switzerland 2017. I will have a talk together with my buddy Jonas Feller from itnetX. We both have gained a lot of experience in the past, doing on-premise automation projects and this is also the title of our session

“On-premise Automation using System Center Service Manager (SCSM), Service Management Automation (SMA) and PowerShell”

We will highlight some conceptual aspects, but also show some technical automation kung fu kicks you might want to be aware of. In addition we will discuss some approaches and tools, which can avoid some headache and trouble. The event takes place May 17th in Bern, so save the date and hopefully you join our session. The session is held in German.

What is Experts Live Switzerland and how does it fit into the entire Experts Live stack?

Continue reading

E2EVC – Session “Business Process Automation – How it is done in a real world scenario”

Everyone talks these days about automation, services and self-service. Rarely you will find a session which is showing you a real world case showing how it is really done. I am happy to speak at the “Experts 2 Experts Virtualization Conference” in Lisbon together with my wingman Stefan Johner http://jhnr.ch/. The event takes place from November 13th-15th in Novotel Lisboa, Avenida José Malhoa 1 1A 1099-051 Lisbon Portugal.

We will show you what you can do with a self-service portal, System Center Service Manager (SCSM) and Service Management Automation (SMA). In addition we will give you insides how we started the project, things we faced during development and implementation, how the solution works and our “lessons learned”.

If you would like to attend the session, we will be speaking on Friday 13th from 17:10-18:00.

image

E2EVC Virtualization Conference is a non-commercial, virtualisation community Event.
Our main goal is to bring the best virtualisation experts together to exchange knowledge and to establish new connections. E2EVC is a weekend crammed with presentations, Master Classes and discussions delivered by both virtualisation vendors product teams and independent experts.
Started in 2003 with just 4 people and after 26 very successful events grown to awell-recognized event with over 150 attendees. In the last 12 years and 25 events, our conference has taken place in cities such as Munich, London, Copenhagen, Amsterdam, Barcelona, Berlin, Brussels, Frankfurt, Dublin, Orlando, Paris, Los Angeles, Munich, Nice, Lisbon, Rome, Hamburg, Hong Kong and Vienna. On average we have 30 sessions at each event. Topics are – server, application, desktop, storage virtualisation with products from vendors like Microsoft, VMware, Citrix and many more. Over 25 of the best virtualisation community experts present their topics. Many current virtualisation community leaders participated or still participate in our events. It’s the people that attend, presenters that present and our sponsors who make this event possible.

If you are interested in this event go and check out the website here .

SCSM – Set Work Item State / Activity State via PowerShell

I do currently a lot of automation and today I had a need to change state of a service request. The service request itself was “Closed” and as you might know, you cannot change anything if the work item is set to “Closed”. Because I needed to trigger the runbook activities behind the service request again, I needed to “reactivate” the service request. How are we doing this? Of course, using PowerShell and SMLets.

The service request looked like this and nothing can be changed anymore…

image

So I created this script to change the state of work items and activities.

Save this script as Change-WorkItemState.ps1

Param
    (    
        [Parameter(Mandatory=$true)][String]$ObjectID,
        [Parameter(Mandatory=$true)]`
        [ValidateSet("Active","Cancelled","Completed","Failed",`
        "OnHold","Ready","Rerun","Skipped","Closed","Active.Pending",`
        "Resolved","New","Failed","InProgress","Submitted","Editing")][String]$Status
    )

try
{
    # Settings and modules
    #####################################################################
    $ErrorActionPreference = "Stop"
    $Error.Clear()    
    If (!(Get-Module SMLets)) {Import-Module SMLets -Force}
    #####################################################################
    # Classes and enumerations
    #####################################################################
    #Get the first two characters of the $ObjectID e.g. IR1234 = IR and then get the class and enumeration       
    Switch (($ObjectID.Substring(0,2)))
    {    
        "MA" {$Class = Get-SCSMClass -Name ^System.WorkItem.Activity$;$EnumStatus = Get-SCSMEnumeration -Name ^ActivityStatusEnum.$Status$}
        "RB" {$Class = Get-SCSMClass -Name ^System.WorkItem.Activity$;$EnumStatus = Get-SCSMEnumeration -Name ^ActivityStatusEnum.$Status$}
        "SA" {$Class = Get-SCSMClass -Name ^System.WorkItem.Activity$;$EnumStatus = Get-SCSMEnumeration -Name ^ActivityStatusEnum.$Status$}
        "PA" {$Class = Get-SCSMClass -Name ^System.WorkItem.Activity$;$EnumStatus = Get-SCSMEnumeration -Name ^ActivityStatusEnum.$Status$}
        "SR" {$Class = Get-SCSMClass -Name ^System.WorkItem.ServiceRequest$;$EnumStatus = Get-SCSMEnumeration -Name ^ServiceRequestStatusEnum.$Status$}
        "PR" {$Class = Get-SCSMClass -Name ^System.WorkItem.Problem$;$EnumStatus = Get-SCSMEnumeration -Name ^ProblemStatusEnum.$Status$}
        "RR" {$Class = Get-SCSMClass -Name ^System.WorkItem.ReleaseRecord$;$EnumStatus = Get-SCSMEnumeration -Name ^ReleaseStatusEnum.$Status$}
        "IR" {$Class = Get-SCSMClass -Name ^System.WorkItem.Incident$;$EnumStatus = Get-SCSMEnumeration -Name ^IncidentStatusEnum.$Status$}
        "CR" {$Class = Get-SCSMClass -Name ^System.WorkItem.ChangeRequest$;$EnumStatus = Get-SCSMEnumeration -Name ^ChangeStatusEnum.$Status$}    
    }
    ###################################################################
    #Find the object           
    $Object = Get-SCSMObject -Class $Class -Filter "Name -eq $ObjectID"
    #Set object state and write output information
    If($Object)
    {
        Write-Host "Changing Status of $Object to $EnumStatus" -ForegroundColor Cyan
        Set-SCSMObject -SMObject $Object -Property Status -Value $EnumStatus  
        Start-Sleep -Seconds 2
        Write-Host "Status of $Object changed to $EnumStatus" -ForegroundColor Green
    }
    Else
    {
        Write-Host "$ObjectID not found" -ForegroundColor Red    
    }    
}
catch 
{
    Throw $Error[0].Exception
}

finally
{
    If (Get-Module SMLets) {Remove-Module SMLets -Force}
}

You need to provide the ID of the object like IR1234, SR4978, RB3214 etc. for which you want to change state. For the different work item and activities you can set the following states  ( I hope I got all)…

Servicer Request (SR)

  • New
  • Closed
  • Completed
  • Failed
  • Cancelled
  • On Hold
  • In Progress
  • Submitted

Problem Record (PR)

  • Active
  • Resolved
  • Closed

Release Record (RR)

  • New
  • Cancelled
  • On Hold
  • Failed
  • In Progress
  • Completed
  • Closed

Incident Record (IR)

  • Active
  • Closed
  • Active.Pending (Pending)
  • Resolved

Change Request (CR)

  • New
  • Failed
  • In Progress
  • On Hold
  • Cancelled
  • Submitted
  • Completed

Manual Activity (MA), Runbook Activity (RB), Parallel Activity (PA), Sequential Activity (SA)

  • Completed
  • Cancelled
  • Skipped
  • In Progress
  • On Hold
  • Failed
  • Rerun
  • Pending

Now let’s run an example, let’s assume you have an incident IR5754 and the state is “Resolved” and you want to change it to “Pending” …

image

Run the script…

image

et voilà….

image

The same procedure works for all activities like Manual Activity (MA), Runbook Activity (RB), Parallel Activity (PA), Sequential Activity (SA) and all the work items listed above. Make sure you have the SMLets installed on the computer you are running this script.

Conclusion: You can change state of any work item or activity easily using PowerShell. It is even possible to “re-animate” closed work items like a service request.

Have fun!

SCSM – Passing Attachments via Web Service e.g. SMA Web Service

If you do automation in a “Microsoft World” you probably start these days with Service Manager and Service Management Automation (SMA). At one point you will have a need for building a connector to another system for exchanging data. One example could be that you need to submit incident data from Service Manager to another ticket system e.g. ServiceNow. If you are lucky the target system offers a web service and you just need to pass the data in XML. That sounds pretty easy but how are you going to pass the attachments to the foreign system via web service? One approach is to get the attachments from the source, save it as files on a file share and then the files are pushed to or pulled from the target system. Yes this is one way, but why should you make this extra step and saving the attachment files on a file share? Isn’t it possible just passing the data in one shot? Well, this is the purpose of this blog post.

I don’t have access to ServiceNow nor another ticketing system which would offer a web service interface. For that reason I will use the SMA web service to show how to convert the attachment and passing it via string and XML data.

For a better understanding I created a graphic…

image

The first runbook is called Get-Attachment and has an input parameter WorkItemID. The runbook connects to Service Manager and iterates through the attachments of the specified work item in this example IR1234 and converts it to a Base64String. The last line of Get-Attachment runbook uses the Start-SmaRunbook cmdlet to call the Add-Attachment runbook. The Start-SmaRunbook cmdlet uses the SMA web service to trigger the runbook and submit the attachment data.  This is the step which proofs, that you can submit the attachment data through a web service call.

Continue reading

SCOM 2012 / SCSM 2012 – CMP Tool V 1.0 (Compare Management Pack Tool)

This blog has been quiet for some time because I was quite busy with all kind of stuff. Anyway, this time I would like to share a tool I created to compare management packs in SCOM /SCOM or SCOM/SCSM, SCSM/SCSM management groups. In real life it is hard to compare the current management packs installed in management group A (Source) versus management group B (Target). This happens for example, if you want to have a comparison between your SCOM integration environment and your production environment. You probably want to know which management packs are equal in both management groups or which are missing in management group A and which management packs are missing in management group B compared to each other.

The tool looks like this..

image

Continue reading

System Center – RSS Feeds Collection

It doesn’t matter If you are new to the System Center stack or if you have been working many years in the System Center field, we all share the same problem. How are we keeping up with this massive amount of information dropping in every single day? There are so many excellent sources out there but you have to find it and get informed if there is a new article or blog post.

I think staying up-to-date is essential for must of us, especially if you are working as a consultant. So, how are we staying ahead? Well, I like Twitter very much when it comes to interact with the community and getting information immediately. In my opinion Twitter is the fastest source for getting information almost in real-time.

One other source which everyone knows about, but somehow not a lot of people are using are RSS feeds. This technology started about 15 years ago and was developed further up to now. RSS feeds are based on XML and publish the blog or website in a structured way. Almost any blog / website has such a functionality and if enabled it lets you collect all the published content in a very comfortable way. You can use many applications for displaying RSS feeds like Internet Explorer, Outlook or dedicated applications like Feedreader . You can use Feedreader online or install it on your Windows box.

image

Feedreader (Online)

image

Feedreader (Client)

image

I would like to share my (personal) feeds which I collected and tried to categorize by topic and / or technology (download the OPML file at the end of the post). I tried to collect as many good and reliable sources for staying up-to-date in the System Center field. If I missed any valuable source it was not my intention, let me know and I will add it.

Continue reading