extend the Active Directory Users class for SCSM

Today I needed some additional fields for the Active Directory User class for an SCSM Service Offering. For example, I need the PrimarySmtpAddress, which exists in the AD as mail, but not in the SCSM class. in this post, I will describe, how I did it:

We will need:

  • System Center Service Manager 2012 SP1
  • System Center Orchestrator 2012 SP 1
  • Service Manager Authoring Tool
  • Strong name key file

Open the Service Manager Authoring Tool and click to the menu File New, to create a new Management Pack. Define a unique name for your management packs file name, in this Example: Josh.Test.Library.xml (Library mean’s that we will extend a library class)

in the Class browser, select All Management Packs and search for the Domain User or Group class. if you expand this class, you will see the mail field, but it wouldn’t be accessibly (for example in your service requests). right click it and select View:

2014-02-07_15-05-37

 Now you will see the Domain User and Group class in the Management Pack Explorer. Right click it and select Extend class:

2014-02-07_15-11-35

select your new Management Pack and click OK:

2014-02-07_15-15-14

now, you will see the new class, give it an unique name. normally I dont’t use special chars, spaces or dots for the new name:

2014-02-07_15-19-05

on some versions of the Authoring Tool, it will automatically create a new property, like Property_26. select the row and then click to the delete icon

2014-02-07_15-24-01

now you can add new properties. The new Property should have a unique internal name for your complete Service Manage environment ! normaly I use the Management Pack Name as a prefix for the Property internal name.

2014-02-07_15-36-13

After creating the property, you can change some property details, like the (display-)Name, Data Type, etc:

2014-02-07_15-39-34

Now you can save the Management Pack and build a sealed one. To seal your Management Pack, you will need a strong name key file. How you can create a strong name key file, is described here (thank you Marcel). right click the management pack and select Seal Management Pack:

2014-02-07_15-48-57

Choose the output directory and the key-file to use:

2014-02-07_15-53-44

Now, you can import the new management pack like every time.

After importing, you will see the new field in the Extension tab of your Active Directory User CI:

2014-02-14_12-52-49

In the next step, you should import datas from Active Directory to the newly created Extensions using an Orchestrator Runbook. Your runbook should have this activities:

  • Get User activity from Active Directory
  • Get Object activity from SC 2012 Service Manager
    • select the newly created class
    • filter by UPN equals {User Principal Name from “Get User”}
  • Update Object activity from SC 2012 Service Manager
    • select the newly created class
    • Object Guid = {SC Object Guid from “Get Object”}
    • add a field: PrimarySmtpAddress → {Email from “Get User”}

2014-02-17_17-10-56

Of course, you can import every type of datas from other locations then Active Directory

after importing the datas, you should see it and could use it for your service request offerings.