Experts Live Europe – Speaker

ExpertsLive_EUROPE_pos_blue_rgb

Once more I am very excited to be part of one of the best IT conferences in Europe – Experts Live Europe. The 3 conference days are taking place from August 23 – 25 in the Berlin Congress Center in Berlin Germany and will bring together the Microsoft IT Pro Community from all over the world, including a large quantity of Microsoft MVPs and (former) Microsoft employees. You will get the latest about datacenter, cloud and workplace trends. This also includes many vertical topics such as security, identity management and much more.

I will have several sessions / discussion panels / demos:

Azure TestDev Labs – What the heck is it?
Wednesday, August 23 • 10:45am – 11:45am
In this session we, my wingman MVP Stefan Johner and I, show you how you can use Azure DevTest Labs to build your own lab and keep control of cost and resources.

Discussion Panel: Insights and Analystics
Wednesday
, August 23 • 3:15pm – 4:15pm
Discussion panels allow you to meet a group of experts and discuss your questions. In this panel my buddy MVP Kevin Greene and I would like to discuss about OMS monitoring and mainly about Insights and Analytics.

The best of the SCOM community (+whisky tasting)
Wednesday, August 23 • 4:45pm – 5:45pm
If you haven’t been to this famous Squared Up session in the past years, you definitely missed something. Squared Up will present their latest and greatest news about their products surrounded with delicious whisky tasting. There will be some room for community presentations about their recently released PowerShell MP. I will also have a short entertaining demo, what you can do with this MP and PowerShell.

Azure Monitor & Co
Friday, August 25 • 8:00am – 9:00am
Monitoring Azure is getting more and more important. This session will give you an overview of Azure Monitor and its best buddies. I will show you the basics and how you could make sense out of your data.

On-premise automation using SCSM, SMA and PowerShell
Friday, August 25 • 2:00pm – 3:00pm
Everyone is talking about automation. But what does that mean if business processes or IT infrastructures are automated on-premise? Microsoft offers System Center Service Manager (SCSM), Service Management Automation (SMA) und PowerShell as core components to achieve the goal. MVP Stefan Roth and Jonas Feller talk about what problems you could face and what impact does it have starting such a project. In addition we show you a current real-world case and talk about experiences we have made in the past.

me2

I am convinced that this will be another legendary edition of Experts Live Europe and I hope to see you there. If you are not familiar with Experts Live Europe at all read MVP Marcel Zehner’s blog post.


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