System Center Service Manager (SCSM) Authoring Management Pack tips and best practices

When using the SCSM Authoring Management Pack, follow these tips and best practices for best results. These are not always presented in order, so please read through this post before setting up your MP.

  • Disable the MPSSyncJob Schedule before importing custom Management Packs until you determine you like the results of your custom changes on the SM side.
  • Extend an existing class versus creating a new class.  Extending an existing class will make it more compatible with 3rd party  software
  • Create only one .SNK key file.  If you create multiple .SNK files you will have to keep track of which .SNK file was used on which Management  pack.
  • Keep your .SNK key with your custom management packs in a safe place.  You MUST have the .SNK key to update any sealed Management pack
  • Cannot import sealed management pack over  a unsealed Management pack.  “Cannot import sealed management pack {0}.  The database already contains an unsealed management pack”
  • The file name of the management pack matters.  It must match the name in the Management Pack.
  • Internal property names are not allowed to have spaces
  • Unable to SEAL management pack XML that was previously sealed. “The Target attribute value is not valid.  Element…”  remove the ManagementPackPublicKeyToken line from the XML file.    You will get a similar error if you export a sealed MP and then attempt to import the XML directly into Service Manager.
  • If you remove a management pack that defines classes / class properties all data associated with the class will be removed from Service Manager.  Does not Impact Data Warehouse.  Data Warehouse is designed to be a repository.  That also means the properties on DW are still defined.  This is why you need to confirm all is well before Mpsynjob runs.
  • If problems occur with a new management pack the simplest step is to remove it provided it does not contain fields/properties.  See previous bullet item.
  • SLOW opening a custom form modified by Service Manager Authoring tool.  To fix use: SCSM Form Customization Cleanup Script https://gallery.technet.microsoft.com/SCSM-Form-Customization-8ebe8dd7
  • Strongly recommended that forms and classes are not stored in the same management pack.
  • Service Manager SLOs must be created via the console.   During the wizard it will prompt for a management pack.  Ensure that you specify a management that only contains SLOs, do not store other objects in the MP.  SLOs get messed up when importing via Management Pack.  The entire MP often has to be removed to re-create SLO via the Console.
  • MPSyncJob will only import Sealed MPs into Data Warehouse.  Exception to this is: List items (aka “enumerations“) and groups/queues will be sync’d to the DW regardless of whether they are in a sealed or unsealed MP
  • After a sealed Management Pack is imported the following cannot be performed without removing the Management Pack
    •     Remove Classes
    •     Remove Properties
    •     Changing the Property type – you will see an error message similar to this:
"The property Type (PropertyXYZ) has a value that is not upgrade compatible. OldValue=enum, NewValue=string"
  • If you do remove the sealed management pack and it was already been imported into Data Warehouse the fields defined will remain on the Data Warehouse side if MPSyncJob already ran.  This goes back to the first tip ‘disable MPSyncJob’ until you are certain everything is working and the fields as spelled correctly.
  • Always test Management packs in a test environment before testing in the production environment.  Keep backups of previous versions of Management Packs so that you can go back to a working state.
  • An unsealed management pack cannot be referenced by another management pack (https://msdn.microsoft.com/en-us/library/hh964841.aspx)
  • All management packs published by Microsoft will have the public key token 31bf3856ad364e35
  • SCSM 2012 R2 MP import allows a string property length to be increased.  Although DWJob may fail until MPSyncjob completes to move the changes to the DW side.
  • Management pack Boolean True will not work must be true (lower case)
  • Sealing a management pack changes the GUID identity of the management pack and therefore the GUID identity all of the management pack elements inside of the management pack change.  Changing the name of the MP will do the same thing.
  • NEVER create a string larger than 4000 bytes if you plan to use Data Warehouse…  In general you should only make strings as big as you need.  It is easy to increase the size however decreasing the size is an entirely different story.

-Austin Mack

Microsoft Support