0% found this document useful (0 votes)
886 views883 pages

System Center SCSM SC SM 2019

Uploaded by

Tv Tv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
886 views883 pages

System Center SCSM SC SM 2019

Uploaded by

Tv Tv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 883

Tell us about your PDF experience.

About System Center - Service Manager


Article • 03/08/2023

System Center - Service Manager provides an integrated platform for automating and
adapting your organization's IT service management best practices, such as those found
in Microsoft Operations Framework (MOF) and Information Technology Infrastructure
Library (ITIL). It provides built-in processes for incident and problem resolution, change
control, and asset lifecycle management.

Service Manager articles


The what's new article describes new capabilities and changes in Service Manager.
The planning article helps you understand the hardware and software
requirements and also the software roles you need to prepare for Service Manager
before deploying it for use in your organization.
The deploy article helps you deploy Service Manager in one of several different
scenarios.
The upgrade article shows you how to upgrade from older versions of Service
Manager.
The administrative tasks article provides concepts that are important to Service
Manager administrators and it includes procedures that Service Manager
administrators must perform to configure Service Manager.
The day-to-day tasks article provides information about using the Service Manager
console for day-to-day tasks that you perform to manage service desk functions
for your organization's computer infrastructure.
The author article provides an introduction to authoring in Service Manager,
including an overview of the Service Manager Authoring Tool, and contains tasks
to author and customize management packs, which enable customizations in
Service Manager.
The disaster recovery article helps you create a recovery plan for potential software
and equipment failures in your Service Manager environment. It also helps you
create a deployment strategy that separates the Service Manager and data
warehouse management servers from the computers that host their respective
databases.
The glossary section is a list of terms and definitions used in Service Manager that
have meaning specific to Service Manager.
The release notes article contains release notes apply to Service Manager. They
contain descriptions and workarounds for known issues that you should be aware
of before you deploy Service Manager.
Next steps
Read about what's new in Service Manager.
Review planning information for Service Manager.
What's New in System Center Service
Manager
Article • 10/04/2023

This article details the new features supported in System Center 2019 - Service Manager.

New features in SM 2019


See the following sections for information about the new features/features updated in
Service Manager (SM) 2019.

Support to SQL Server 2017


SM 2019 supports new installation of SQL Server 2017. Learn more.

Support for SQL Server 2019 CU8 and later


Service Manager supports SQL Server 2019 with Cumulative Update 8 (CU8) or later, as
detailed here.

7 Note

Service Manager 2019 supports SQL 2019 with CU8 or later; however, it
doesn't support SQL 2019 RTM.
Use ODBC 17.3 to 17.10.4.1, and MSOLEDBSQL 18.2 to 18.6.6.

Improvement in Active Directory Connector


The Active Directory (AD) connector has been improvised to synchronize with a specific
domain controller. You may now specify the domain controller in the LDAP query of the
Active Directory connector.

Improved UI Responsiveness
The user interface is made responsive by addressing memory leak problems.
Enable Service Logon
In earlier releases, during the setup of Service Manager Management Server and Service
Manager Data Warehouse Management Server, various credentials are asked for SM
accounts. These accounts had been interactive (accounts having Allow log on locally
(SetInteractiveLogonRight) permission).

With SM 2019, we've enabled Service Logon type to make Service Manager more secure,
and the default logon type is set to Service Logon. For information on how to grant
service logon permissions to the Run As accounts, see enable service logon feature.
Learn more.

Bug fixes
This release of System Center Service Manager contains all the bug fixes shipped until
the Update Rollup 5 of SCSM 2016 .

7 Note

The following feature was introduced in Service Manager 1807, enhanced in 2019.

Support to SQL 2017 feature pack


You can upgrade SQL server 2016 to SQL 2017. Learn more.

7 Note

The following feature was introduced in Service Manager 1801, included in 2019.

Support to enhanced evaluation experience


SM supports an enhanced experience for evaluating Service Manager and activating the
product for retail use.

The evaluation version of Service Manager can be installed and used for 180 days. In SM
2016, after an evaluation version is installed, there was no option to view the remaining
days for the evaluation period. With Service Manager 1801 and later, you can view the
information about the evaluation period, and accordingly activate your SM. Learn more.
New features in Service Manager UR2
The following new feature is supported with Service Manager Update Rollup 2.

Support for SQL 2019 CU8 or later


Service Manager UR2 supports SQL Server 2019 with Cumulative Update 8 (CU8) or
later, as detailed here.

This support is applicable for Service Manager 2019.

7 Note

Service Manager 2019 doesn't support SQL 2019 RTM, and supports SQL 2019
with CU8 or later.
Use ODBC 17.3 to 17.10.4.1, and MSOLEDBSQL 18.2 to 18.6.6.

Next steps
To understand hardware and software requirements and software roles you need
to prepare for Service Manager before you deploy it in your company or
organization, see Planning for Service Manager.
See the fixed issues.
System Center – Service Manager build
versions
Article • 07/20/2023

This article provides information about how to determine your current Microsoft System
Center – Service Manager version number and the corresponding update rollup. Each
update rollup (UR) release has a link to a support article describing the UR changes and
links to the package downloads.

7 Note

All System Center Service Manager update rollups are cumulative. This means, you
don't need to apply the URs in order; you can always apply the latest update. If
you've deployed System Center – Service Manager and never applied an update
rollup, you can proceed to install the latest one available.

Service Manager 2019 build versions


The following table lists the release history for Service Manager 2019.

Build Number KB Release Date Description

10.19.1035.0 n/a February 2019 System Center 2019 Service Manager RTM

10.19.1035.73 4532891 January 2020 Update Rollup 1

10.19.1035.101 4558753 July 2020 Update Rollup 2

10.19.1035.137 5013428 June 2022 Update Rollup 4

Next steps
What's New in SM
Evaluation and Licensing experience for
System Center - Service Manager
Article • 03/16/2023

The evaluation version of Service Manager can be installed and used for 180 days. You
can view the information about the evaluation period, and accordingly activate your SM.

To view the evaluation period related information, from the Service Manager console, go
to Help > About. The page displays the details as shown in the following example:

Evaluation expiry notices


You will receive notices for evaluation expiry once the evaluation period expires.
If you try to connect to Service Manager after the expiry of the evaluation period, the
following notices appear on the Console and on PowerShell.

Notice for Service Manager Console

Notice for Service Manager PowerShell

Activate Service Manager


You can activate Service Manager using the product key from Console and PowerShell
by using the following steps.

Activate Service Manager through console

7 Note

If the Evaluation Period has expired, you can activate SM only through PowerShell.
1. From the SM console, go to Help > About and select Activate at the bottom left of
the About page.

Enter product key page appears.

2. Enter the product key for Service Manager and select Continue.

If you provide a valid product key, the License Agreement page appears, else an
error message is displayed.
3. Read through the License Agreement. Select the I have read understood and
agree with the terms of the license agreement checkbox and select Accept to
complete the process.

Activate Service Manager through PowerShell


To activate Service Manager through PowerShell, use the following procedure:

1. Open a PowerShell window on the computer where the SM console is installed.

2. Enter the following command and press enter.

Set-SCSMLicense -ManagementServer <ManagementServer> -ProductId


<Product Key>

On executing the command, you get a prompt asking for the required credentials
to execute the command. Provide the credentials as appropriate.

A confirmation message appears.

3. Read and accept the confirmation message. Upon successful confirmation,


licensing complete information appears as shown below:
System Center - Service Manager parts
Article • 03/16/2023

There are six major parts of a System Center - Service Manager installation, as described
in the following table.

Service Description
Manager
part

Service Contains the main software part of a Service Manager installation. You can use the
Manager Service Manager management server to manage incidents, changes, users, and
management tasks.
server

Service The database that contains Service Manager configuration items (CI) from the IT
Manager Enterprise; work items, such as incidents, change requests, and the configuration
database for the product itself. This is the Service Manager implementation of a
Configuration Management Database (CMDB).

Data The computer that hosts the server piece of the data warehouse.
warehouse
management
server

Data Databases that provide long-term storage of the business data that Service
warehouse Manager generates. These databases are also used for reporting.
databases

Service The user interface (UI) piece that is used by both the help desk analyst and the
Manager help desk administrator to perform Service Manager functions, such as incidents,
console changes, and tasks. This part is installed automatically when you deploy a Service
Manager management server. In addition, you can manually install the Service
Manager console as a standalone part on a computer.

Self-Service A web-based interface into Service Manager.


Portal

) Important

All computers that host any part of Service Manager must be domain-joined.
Supported configurations
Article • 03/16/2023

This article summarizes the workloads for which System Center - Service Manager is
tested.

The test environment contains one Service Manager management server


supporting 80 to 100 concurrent Service Manager consoles.
High-performance storage using 15,000-RPM SCSI drives was used on the
database servers.

Test conditions
The hardware and software tested are based on the following conditions:

Up to 20,000 users, with up to 40 to 50 IT analysts providing concurrent support.


Up to 50,000 users (and up to 80 to 100 IT analysts) can be supported. Assumes
that 32 GB of memory is installed on the SQL Server machines.
Up to 20,000 supported computers. This assumes up to 10 to 12 configuration
items of installed software, software updates, and hardware components, per
computer.
Up to 50,000 computers can be supported. Assumes 32 GB of memory is installed
on the SQL Server machines.
5,000 incidents per week with three months of retention. Based on a total of
60,000 incidents in the Service Manager database for the 20,000-computer
configuration. Based on 2.5 times that for the 50,000-computer configuration.
1,000 change requests a week with three months of retention. Based on a total of
12,000 change requests in the Service Manager database for the 20,000-computer
configuration. Based on 2.5 times that for the 50,000-computer configuration.

7 Note

Using a slow storage subsystem or insufficient memory can reduce Service


Manager performance significantly.

Next steps
Learn about combining Operations Manager and Service Manager.
System requirements for System Center
Service Manager
Article • 10/04/2023

This article details the system requirements for System Center 2019 - Service Manager
(SM).

System requirements for System Center 2019 -


Service Manager
The following sections describe the general performance and scalability guidance for SM
2019, and recommend the hardware configurations for various workloads. Because
System Center 2019 is built to be flexible and scalable, the hardware requirements for
specific scenarios may differ from the guidelines that are presented here.

Capacity limits for Service Manager


Read Configurations for deployment scenarios to learn about the tested capacity limits
of Service Manager.

Supported coexistence
To help simplify upgrades, you can use Service Manager 2019 connectors with the
following System Center components.

System Center 2016/2019 Virtual Machine manager


System Center 2016/2019 Orchestrator
System Center 2016/2019 Operations Manager
System Center 2016 Configuration Manager (only during migration scenario)
System Center Configuration Manager CB releases
1511, 1602, 1606, 1710, and 1802 (supported with Service Manager 2019 RTM)
1806 to 2103, 2107 (supported with Service Manager 2019 UR2 and later)

Hardware
Servers Processor Processor RAM RAM Hard Hard
(min) (rec) (min) (rec) drive drive
space space
(min) (rec)

Service Manager 4-Core 2.66 4-Core 2.66 8 GB 8 GB 10 GB 10 GB


Management Server GHz CPU GHz CPU

Service Manager Database 8-Core 2.66 8-Core 2.66 8 GB 32 GB 80 GB 80 GB


GHz CPU GHz CPU

Service Manager Data 4-Core 2.66 4-Core 2.66 8 GB 16 GB 10 GB 10 GB


Warehouse Management GHz CPU GHz CPU
Server

Service Manager Data 8-Core 2.66 8-Core 2.66 8 GB 32 GB 400 GB 400 GB


Warehouse Databases GHz CPU GHz CPU

Service Manager Console 2-Core 2 2-Core 2 4 GB 4 GB 10 GB 10 GB


GHz CPU GHz CPU

Service Manager Self- 4-Core 2.66 8-Core 2.66 8 GB 16 GB 80 GB 80 GB


Service Portal (standalone) GHz CPU GHz CPU

Service Manager Self- 8-Core 2.66 8-Core 2.66 16 GB 32 GB 80 GB 80 GB


Service Portal + Secondary GHz CPU GHz CPU
Management Server
(Recommended)

Software requirements
Component Requirement

Service Manager The management server needs: ADO.NET Data Services Update for .NET
management Framework 3.5 SP1 for Windows Server; SQL Server Native client; Microsoft
server Report Viewer Redistributable, which is available with the Service Manager
media.

The management server must be installed on a 64-bit edition of Windows.

Data warehouse The warehouse management server requires: SQL Server Native client
management
server The data warehouse management server must be installed on a 64-bit edition
of Windows.

Service The Service Manager or data warehouse databases require: SQL Server
Manager/data Reporting Services (SSRS); SQL Server Analysis Management Objects.
warehouse
databases The SQL Server and Analysis Services collation settings must be the same for
Component Requirement

the computers hosting the Service Manager database, data warehouse


database, analysis services database, and Reporting Services database.

Service Manager The console requires: Microsoft Report Viewer Redistributable (available on
console System Center media): Microsoft Excel in order to view OLAP data cubes on
the console computer; ADO.NET Data Services Update for.NET Framework 3.5
SP1 for Windows Server; SQL Server Analysis Management Objects.

The console can be installed on both 32-bit and 64-bit editions of Windows.

Self-Service The Self-Service Portal server requires: Windows 2012 R2 server or later; the
portal IIS role and ASP.NET 4.5 enabled; SQL Server Analysis Management Objects.

Join the server machine to the same domain where the Service Manager SDK
Service is running. Ideally, on the primary or secondary server.

Machines using The Self Service portal needs a screen resolution above 1024 X 768.
self-service
Supported browsers: Microsoft Edge; Microsoft Internet Explorer 10 and 11;
Mozilla Firefox 42 and later; Google Chrome 46 and later.

SQL Server In a deployment topology where the computer hosting SSRS isn't on the
Reporting same computer that hosts the data warehouse management server, you have
Services to add Microsoft.EnterpriseManagement.Reporting.Code to the global
assembly cache. Learn about the manual steps.

Additional notes
Operations Manager - Service Manager has the capability to import alerts and
configuration items from an Operations Manager environment. Read about
installing both Service Manager and Operations Manager in the same
environment. You can create a data mart for Operations Manager.

Configuration Manager - Service Manager can import configuration items from a


Configuration Manager environment.

Network requirements - To view external content from within knowledge articles,


computers that host the Service Manager console must have Internet access, either
directly or through a proxy server.

SMTP server- You must have access to a Simple Mail Transfer Protocol (SMTP)
server to use the Notification feature and for incident creation through email.

Windows safe mode- Service Manager doesn't operate and the services used by
Service Manager don't start if Windows Server is running in safe mode. If you
attempt to start the Service Manager services manually while in safe mode, the
services fail to start and an error is written into the event log.

SQL Server requirements


Microsoft SQL Server hosts the databases that System Center - Service Manager creates.
In addition, System Center 2019 - Service Manager requires SQL Server Analysis Services
(SSAS) to work with Microsoft Online Analytical Processing (OLAP) cubes. SQL Server
Reporting Services (SSRS) is required to support System Center 2019 - Service Manager
reporting.

Use this information to evaluate if your SQL Server environment is ready to support the
installation of or upgrade to System Center 2019. Use this information whether you're
deploying one or multiple components of System Center.

7 Note

During installation, select SQL Server full-text search on the computers running SQL
Server that will host the Service Manager and data warehouse databases.

SQL Server version support

7 Note

SM doesn’t support SSAS mode Tabular. Select the SSAS mode as Multi-
dimensional during the installation of SQL Server.
For the supported versions of SQL, use the service packs that are currently in
support by Microsoft.
Service Manager 2019 supports SQL 2019 with CU8 or later; however, it
doesn't support SQL 2019 RTM.
With SQL 2019 (CU8 or later), use ODBC 17.3 to 17.10.4.1, and MSOLEDBSQL
18.2 to 18.6.6.

Service Manager SQL Server 2016 SQL Server SQL Server 2019 with
and SPs 2017 Cumulative Update 8

Service Manager/Data • • •
Warehouse database
7 Note

System Center 2019 - Service Manager doesn't support the MultiSubnetFailover


parameter. This parameter isn't used in System Center 2019 - Service Manager
connection strings.

Allow updates
To either install or upgrade System Center 2019 - Service Manager, computers running
SQL Server that host databases must be configured to allow updates. If updates aren't
allowed, System Center 2019 - Service Manager Setup won't complete and the following
error message appears at the Create database stage of the installation:

An error occurred while executing a customer action: _ExecuteSqlScripts. This upgrade


attempt has failed before permanent modifications were made. Upgrade has successfully
rolled back to the original state of the system. Once the corrections are made, you can
retry the upgrade for this role.

You can check the status of allow updates on SQL Server by executing the following
stored procedure from within SQL Server Management Studio:

sp_configure 'allow updates'

In the results table, examine the value for run_value. If the value of run value is 1, set it
back to 0 with the following stored procedure, and then run Setup again.

sp_configure 'allow updates',0 reconfigure with override

AlwaysOn Availability Groups considerations for Service


Manager databases
SQL Server AlwaysOn Availability Groups functionality is supported by System Center
2019 - Service Manager.

For more information about installing Service Manager with AlwaysOn availability
groups, refer here.
Upgrade to SQL 2017
The following steps provide information about upgrading to SQL 2017.

7 Note

Upgrade process to SQL 2017 uninstalls the reporting services; ensure to migrate
required reports such as backup reporting DB and encryption keys.

Use the following steps to upgrade from SQL 2016 to 2017:

1. Upgrade to SQL 2017.


2. Install SQL 2017 reporting services (SSRS), launch the reporting services
configuration manager to use the existing reporting DB, and restore encryption
keys. Configure the Web service URL and Web portal URL.
3. Use the same values for reporting server Web service virtual directory and Web
portal URL that you had before initiating the upgrade process for SQL 2017.
4. Configure the SSRS as per the details shared here.
5. [Optional] To enable CLR strict security, run the following script on each of the
Service Manager databases. By default, CLR strict security is disabled after you
upgrade to SQL 2017.

Upgrade to SQL 2019


The following steps provide information about upgrading to SQL 2019.

7 Note

You must use Cumulative Update 8 (CU8) or later with SQL 2019.
Use ODBC 17.3 to 17.10.4.1, and MSOLEDBSQL 18.2 to 18.6.6.
Upgrade process to SQL 2019 uninstalls the reporting services; ensure to
migrate required reports such as backup reporting DB and encryption keys.

Use the following steps to upgrade from SQL 2017 to 2019:

1. Upgrade to SQL 2019.


2. Install SQL 2019 reporting services (SSRS), and launch the reporting services
configuration manager to use the existing reporting DB, restore encryption keys.
Configure the Web service URL and Web portal URL.
3. Use the same values for reporting server Web service virtual directory and Web
portal URL that you had before initiating the upgrade process for SQL 2019.
4. Configure the SSRS as per the details shared here.
5. [Optional] To enable CLR strict security, run the following script on each of the
Service Manager databases. By default, CLR strict security is disabled after you
upgrade to SQL 2019.

Enable CLR strict security


Optional. Use the following script to enable CLR strict security.

-- Do this only for SQL server version 2017 and more


IF( convert(int, SERVERPROPERTY('ProductMajorVersion')) > 13 )
BEGIN
DECLARE @Hash1 BINARY(64), @ClrName1 NVARCHAR(4000);
set @Hash1 = HASHBYTES(N'SHA2_512',
0x4d5a90000300000004000000ffff0000b80000000000000040000000000000000000000000
0000000000000000000000000000000000000000000000800000000e1fba0e00b409cd21b801
4ccd21546869732070726f6772616d2063616e6e6f742062652072756e20696e20444f53206d
6f64652e0d0d0a2400000000000000504500004c010300cdef7c440000000000000000e0000e
210b010800000c000000080000000000005e2b000000200000004000000000ec560020000000
020000040000000000000004000000000000000080000000020000f2f1000003000004000010
0000100000000010000010000000000000100000000000000000000000042b00005700000000
4000001005000000000000000000000000000000000000006000000c0000008c2a00001c0000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000200000080000000000000000000000082000004800000000000000000000002e7465
7874000000640b000000200000000c000000020000000000000000000000000000200000602e
72737263000000100500000040000000060000000e0000000000000000000000000000400000
402e72656c6f6300000c00000000600000000200000014000000000000000000000000000040
00004200000000000000000000000000000000402b0000000000004800000002000500082100
0084090000090000000000000000000000000000005020000080000000000000000000000000
00000000000000000000000000000000000000000000000c506f2ef337d14f0bc66e27fa0200
6623253f6655697a25078f76132dfd4cf9ec02d54581a9310a12538c2a82f19f230bbe2ac601
7a095a82147a15f65488b5b38c9612cfc2c228f748d5519b4981a836189698e99b7f54961091
fbb404afb93ab9d8110f22652ab16e7ff50f9dfb4236d78f61e93555018ba85d95c28cb5452a
02281000000a0000002a00133003001e00000001000011000214fe0116fe010b072d0500160a
2b0b02031e281200000a0a2b00062a000042534a4201000100000000000c00000076322e302e
35303732370000000005006c0000001c020000237e0000880200003c03000023537472696e67
7300000000c40500000800000023555300cc050000100000002347554944000000dc050000a8
03000023426c6f620000000000000002000001471502000900000000fa013300160000010000
0014000000020000000200000002000000120000000e00000001000000010000000300000000
000a00010000000000060084007d000600c900aa000600d700aa000600fd00eb0006001601eb
0006003101eb0006005001eb0006006d01eb0006008401eb0006009f01eb000600b801eb0006
00d101eb000600ee01eb0006001a0207023b002e02000006005d023d0206007d023d020a00df
02c4020e00210302030e00270302030000000001000000000001000100010110002b00460005
0001000100d0200000000081188b000a000100dc2000000000960091000e00010000000100f4
0200000200fa0211008b00140019008b00190021008b00140029008b00140031008b00140039
008b00140041008b00140049008b00140051008b00140059008b00140061008b00140069008b
00140071008b001e0081008b00240089008b000a0009008b000a0091008b000a009900340336
022e003b00ac022e000b0043022e0013006d022e0023006d022e002b006d022e00330073022e
0053004a032e004300e4022e004b0025032e006b0075032e007b0087032e005b0065032e0073
007e0340008b00cb003e020480000006000000f50f00000100000029009b0200000200000000
0000000000000001007400000000000200000000000000000000000100b80200000000020000
00000000000000000001007d00000000000000003c4d6f64756c653e004d6963726f736f6674
2e4d6f6d2e446174614163636573732e53716c2e646c6c00526567756c617245787072657373
696f6e4576616c7561746f72004d6963726f736f66742e456e74657270726973654d616e6167
656d656e742e446174614163636573732e53716c006d73636f726c69620053797374656d004f
626a656374002e63746f72004d617463686573526567756c617245787072657373696f6e0053
797374656d2e52756e74696d652e496e7465726f705365727669636573004775696441747472
696275746500436f6d56697369626c654174747269627574650053797374656d2e5265666c65
6374696f6e00417373656d626c7943756c7475726541747472696275746500417373656d626c
7954726164656d61726b41747472696275746500417373656d626c79436f6e66696775726174
696f6e41747472696275746500417373656d626c794465736372697074696f6e417474726962
75746500417373656d626c795469746c6541747472696275746500417373656d626c79436f70
79726967687441747472696275746500417373656d626c7950726f6475637441747472696275
746500417373656d626c79436f6d70616e7941747472696275746500417373656d626c794669
6c6556657273696f6e41747472696275746500417373656d626c7956657273696f6e41747472
69627574650053797374656d2e446961676e6f73746963730044656275676761626c65417474
72696275746500446562756767696e674d6f6465730053797374656d2e52756e74696d652e43
6f6d70696c6572536572766963657300436f6d70696c6174696f6e52656c61786174696f6e73
4174747269627574650052756e74696d65436f6d7061746962696c6974794174747269627574
65004d6963726f736f66742e4d6f6d2e446174614163636573732e53716c0053797374656d2e
44617461004d6963726f736f66742e53716c5365727665722e5365727665720053716c46756e
6374696f6e41747472696275746500696e707574007061747465726e0053797374656d2e5465
78742e526567756c617245787072657373696f6e730052656765780052656765784f7074696f
6e730049734d61746368000003200000000000a79e22af2016204a81c804d4f9bce8010008b7
7a5c561934e08903200001050002020e0e042001010e042001010205200101113d0420010108
80a000240000048000009400000006020000002400005253413100040000010001004ddb14fd
25fa54ef1fe05516d69c0bb19c86956e2d5245e728300417e6a018daac56b61ee215e4c096db
a942368bb4aa76956042bb3efb709cda847d7396839f57a40b90829fe5f347a5d2e2c198367c
bc1092aa9762ae9776e59fed16703887329ffeb6d6cbf44853c496a22bc79bb3ce00f2976099
5dafa6aa97779983e0b48169010005005455794d6963726f736f66742e53716c536572766572
2e5365727665722e446174614163636573734b696e642c2053797374656d2e446174612c2056
657273696f6e3d322e302e302e302c2043756c747572653d6e65757472616c2c205075626c69
634b6579546f6b656e3d623737613563353631393334653038390a4461746141636365737300
00000054020f497344657465726d696e69737469630154020949735072656369736501540e04
4e616d651b666e5f4d617463686573526567756c617245787072657373696f6e54557f4d6963
726f736f66742e53716c5365727665722e5365727665722e53797374656d4461746141636365
73734b696e642c2053797374656d2e446174612c2056657273696f6e3d322e302e302e302c20
43756c747572653d6e65757472616c2c205075626c69634b6579546f6b656e3d623737613563
353631393334653038391053797374656d4461746141636365737300000000070003020e0e11
5104070202022901002433333532323533352d393332652d346130342d623965302d30616330
383630353137663300000501000000003801003353716c436c722066756e6374696f6e616c69
7479207573656420627920746865206461746120616363657373206c617965722e0000370100
324d6963726f736f66742e456e74657270726973654d616e6167656d656e742e53716c2e4461
74614163636573734c6179657200004001003b436f707972696768742032303035204d696372
6f736f667420436f72706f726174696f6e2e2020416c6c207269676874732072657365727665
642e00002401001f4d6963726f736f6674204f7065726174696f6e73204d616e616765722076
3300001a0100154d6963726f736f667420436f72706f726174696f6e00000f01000a362e302e
343038352e3000000801000701000000000801000800000000001e0100010054021657726170
4e6f6e457863657074696f6e5468726f777301000000000000cdef7c44000000000200000059
000000a82a0000a80c000052534453165649e3ed4a514990cc3fb2ca36648a01000000643a5c
6d6f6d76332e6d61696e5c7461726765745c64656275675c693338365c4d6963726f736f6674
2e4d6f6d2e446174614163636573732e53716c2e706462000000002c2b000000000000000000
004e2b0000002000000000000000000000000000000000000000000000402b00000000000000
000000000000000000000000005f436f72446c6c4d61696e006d73636f7265652e646c6c0000
000000ff250020ec560000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000100100000001800008000
0000000000000000000000000001000100000030000080000000000000000000000000000001
00000000004800000058400000b80400000000000000000000b80434000000560053005f0056
0045005200530049004f004e005f0049004e0046004f0000000000bd04effe00000100000006
000000f50f000006000000f50f3f000000000000000400000002000000000000000000000000
000000440000000100560061007200460069006c00650049006e0066006f0000000000240004
0000005400720061006e0073006c006100740069006f006e00000000000000b0041804000001
0053007400720069006e006700460069006c00650049006e0066006f000000f4030000010030
003000300030003000340062003000000080003400010043006f006d006d0065006e00740073
000000530071006c0043006c0072002000660075006e006300740069006f006e0061006c0069
0074007900200075007300650064002000620079002000740068006500200064006100740061
00200061006300630065007300730020006c0061007900650072002e0000004c001600010043
006f006d00700061006e0079004e0061006d006500000000004d006900630072006f0073006f
0066007400200043006f00720070006f0072006100740069006f006e00000090003300010046
0069006c0065004400650073006300720069007000740069006f006e00000000004d00690063
0072006f0073006f00660074002e0045006e00740065007200700072006900730065004d0061
006e006100670065006d0065006e0074002e00530071006c002e004400610074006100410063
0063006500730073004c0061007900650072000000000038000b000100460069006c00650056
0065007200730069006f006e000000000036002e0030002e0034003000380035002e00300000
00000064002100010049006e007400650072006e0061006c004e0061006d00650000004d0069
00630072006f0073006f00660074002e004d006f006d002e0044006100740061004100630063
006500730073002e00530071006c002e0064006c006c00000000009c003c0001004c00650067
0061006c0043006f007000790072006900670068007400000043006f00700079007200690067
00680074002000320030003000350020004d006900630072006f0073006f0066007400200043
006f00720070006f0072006100740069006f006e002e002000200041006c006c002000720069
0067006800740073002000720065007300650072007600650064002e0000006c00210001004f
0072006900670069006e0061006c00460069006c0065006e0061006d00650000004d00690063
0072006f0073006f00660074002e004d006f006d002e00440061007400610041006300630065
00730073002e00530071006c002e0064006c006c0000000000600020000100500072006f0064
007500630074004e0061006d006500000000004d006900630072006f0073006f006600740020
004f007000650072006100740069006f006e00730020004d0061006e00610067006500720020
007600330000003c000b000100500072006f006400750063007400560065007200730069006f
006e00000036002e0030002e0034003000380035002e0030000000000040000b000100410073
00730065006d0062006c0079002000560065007200730069006f006e00000036002e0030002e
0034003000380035002e00300000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000002000000c00000060
3b00000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000);
set @ClrName1 = CONVERT(NVARCHAR(4000),
'Microsoft.EnterpriseManagement.Sql.DataAccessLayer');

-- Drop trusted assembly if exists


IF EXISTS (select * from sys.trusted_assemblies where description =
@ClrName1)
BEGIN
EXEC SYS.sp_drop_trusted_assembly @Hash1
END

--Add to trusted assembly


EXEC SYS.SP_ADD_TRUSTED_ASSEMBLY @Hash1, @ClrName1
END
GO

-- Do this only for SQL server version 2017 and more


IF( convert(int, SERVERPROPERTY('ProductMajorVersion')) > 13 )
BEGIN
DECLARE @Hash BINARY(64), @ClrName NVARCHAR(4000);
set @Hash = HASHBYTES(N'SHA2_512',
0x4D5A90000300000004000000FFFF0000B80000000000000040000000000000000000000000
0000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B801
4CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D
6F64652E0D0D0A2400000000000000504500004C0103006182CF4B0000000000000000E00002
210B010800001600000008000000000000BE3400000020000000400000000040000020000000
0200000400000000000000040000000000000000800000000200000000000003004085000010
0000100000000010000010000000000000100000000000000000000000683400005300000000
4000006004000000000000000000000000000000000000006000000C000000B83300001C0000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000200000080000000000000000000000082000004800000000000000000000002E7465
7874000000C4140000002000000016000000020000000000000000000000000000200000602E
7273726300000060040000004000000006000000180000000000000000000000000000400000
402E72656C6F6300000C0000000060000000020000001E000000000000000000000000000040
00004200000000000000000000000000000000A0340000000000004800000002000500DC2500
00DC0D0000010000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000360002731000000A7D010000042A00
00133002002D00000001000011000F01281100000A16FE010A062D03002B1A027B010000040F
01281200000A6F1300000A1F2C6F1400000A262A5200027B01000004037B010000046F150000
0A262A0000133004004C00000002000011007E1600000A0A027B010000042C13027B01000004
6F1700000A16FE0216FE012B01170C082D1A027B0100000416027B010000046F1700000A1759
6F1800000A0A06731900000A0B2B00072A133003002900000001000011000314FE0116FE010A
062D0B7201000070731A00000A7A02036F1B00000A731C00000A7D010000042A000000133002
002A00000001000011000314FE0116FE010A062D0B7205000070731A00000A7A03027B010000
046F1D00000A6F1E00000A002A1E02281F00000A2A5602281F00000A000002732100000A7D02
000004002A133002002F000000010000110228080000060000032C0E036F2200000A16FE0216
FE012B01170A062D0F00027B02000004036F2300000A0000002A001B30030076000000030000
11007E1600000A0A00027B020000046F2400000A0D2B1C1203282500000A0B00067209000070
076F1D00000A282600000A0A001203282700000A130411042DD7DE0F1203FE160300001B6F28
00000A00DC0006282900000A16FE01130411042D09007E1600000A0C2B0B0006176F2A00000A
0C2B00082A000001100000020014002D41000F0000000013300200140000000100001100027B
020000046F2B00000A16FE010A2B00062A133001000B000000040000110073080000060A2B00
062A00133004008100000005000011000F00281200000A0A0F00281100000A2D10066F2C0000
0A282900000A16FE012B0116130411042D08280C0000060D2B4E06178D210000011305110516
1F2C9D1105176F2D00000A0B160C2B1600070807089A6F2C00000A6F2E00000AA2000817580C
08078E69FE04130411042DDE07280100002B000773090000060D2B00092A0000001330010011
0000000600001100027B020000046F2B00000A0A2B00062A0000001B30030056000000070000
1100160A00027B020000046F2400000A0D2B1F1203282500000A0B0007031B283100000A0A06
16FE01130411042D022B0E001203282700000A130411042DD4DE0F1203FE160300001B6F2800
000A00DC00060C2B00082A000001100000020010003040000F000000001B3002005200000007
00001100170A00037B020000046F2400000A0D2B1B1203282500000A0B000207280F0000060A
06130411042D022B0E001203282700000A130411042DD8DE0F1203FE160300001B6F2800000A
00DC00060C2B00082A000001100000020010002C3C000F000000001330020017000000080000
1100020328130000060A066F0B00000616FE010B2B00072A001B300200670000000900001100
027B0200000473090000060A00037B020000046F2400000A0D2B261203282500000A0B000607
6F0F000006130411042D0F00067B02000004076F3200000A0000001203282700000A13041104
2DCDDE0F1203FE160300001B6F2800000A00DC00060C2B00082A000110000002001A00375100
0F000000001B30020064000000090000110073080000060A00037B020000046F2400000A0D2B
291203282500000A0B0002076F0F00000616FE01130411042D0F00067B02000004076F320000
0A0000001203282700000A130411042DCADE0F1203FE160300001B6F2800000A00DC00060C2B
00082A01100000020014003A4E000F0000000013300400410000000A000011000314FE0116FE
010C082D0B7201000070731A00000A7A036F1B00000A0A06178D210000010D09161F2C9D0917
6F2D00000A0B027B02000004076F2300000A002A000000133002002500000001000011000314
FE0116FE010A062D0B7205000070731A00000A7A03026F1D00000A6F1E00000A002A00000042
534A4201000100000000000C00000076322E302E35303732370000000005006C000000140500
00237E000080050000A805000023537472696E677300000000280B0000100000002355530038
0B0000100000002347554944000000480B00009402000023426C6F6200000000000000020000
015717A2090908000000FA01330016000001000000250000000300000002000000150000000F
0000000300000032000000110000000A00000001000000020000000200000003000000010000
00020000000100000000000A0001000000000006009C0095000A00CA00AF000A00F000DB0006
000601FA000A002C01DB0006005B01510106006D0151010600A10186010600B0018601060069
02570206008002570206009D0257020600BC0257020600D50257020600EE0257020600090357
0206002403570206005C033D0306007003570206009C0389035300B00300000600DF03BF0306
00FF03BF0306001D0495000A003304AF000A005404AF0006006C0495000600840495000A00A5
04AF000600CB0486012300E204000006001705950006004805950006004D05950006006E0595
000A007905AF0006008C05950000000000010000000000010001000120100045005100050001
0001000120100088005100050002000800010014010A000100A8012F00502000000000860027
010E00010060200000000086003601120001009920000000008600410118000200B020000000
00860047011E000300082100000000E601680123000300402100000000E6017A012900040076
2100000000861880010E0005007E2100000000861880010E0005009421000000008618800136
000500D02100000000C600BE013F000600642200000000E609C7014300060084220000000096
08D201470006009C22000000009600DB014C0006002C23000000008600E101530007004C2300
0000008600E70157000700C023000000008600EB015C0008003024000000008600F4015C0009
005424000000009600FD0162000A00D824000000009600030262000C00582500000000E60168
0123000E00A82500000000E6017A0129000F00000001001902000001001F0200000100250200
0001002702000001002902000001003102000001003302000001003B02000001004202000001
004A02000002005002000001004A020000020050020000010025020000010027020200090003
000D000300090051008001740059008001740061008001740069008001740071008001740079
0080017400810080017400890080017400910080017900990080017400A10080017E00B10080
018400B90080010E00C10080010E00C90080018900210080010E002900C701430029005B043F
0021006504F10021006504F700210065040101D900730407012100790453002100BE010A0129
0080017400E1008001740031009A043F002100800174000900BE013F0039007A017400090080
010E00E900800189000C0080010E001400C10453000C00D9044F010C00ED0459011C00FB0468
01D90007056D011C000E054300010123050E00D9002B057401D900390579010C00C1045300D9
0043053F00D90060058F01D90066053F00190174059901210180010E00D9009D05DA010C00A4
05F5012E001B002B022E006B0073022E000B0012022E0013002B022E00230031022E002B0012
022E00330040022E003B002B022E004B002B022E005B0061022E0063006A0243007B008F0063
0003011701C0018301B101E0018301B10100028301B10120028301B101FD0010017E018A01A5
01D601E301EF01FB0109020300010000000D026B00000014026F0002000B00030002000C0005
004301490162010480000001000000B30EF06800000000000051000000020000000000000000
00000001008C00000000000200000000000000000000000100A300000000005F00A101000000
00003C4D6F64756C653E004D6963726F736F66742E456E74657270726973654D616E6167656D
656E742E53716C2E55736572446566696E656444617461547970652E646C6C00436F6E636174
656E617465004D6963726F736F66742E456E74657270726973654D616E6167656D656E742E53
716C2E55736572446566696E6564446174615479706500536574006D73636F726C6962005379
7374656D004F626A6563740053797374656D2E44617461004D6963726F736F66742E53716C53
65727665722E536572766572004942696E61727953657269616C697A650053797374656D2E44
6174612E53716C547970657300494E756C6C61626C650053797374656D2E5465787400537472
696E674275696C64657200696E7465726D656469617465526573756C7400496E69740053716C
537472696E6700416363756D756C617465004D65726765005465726D696E6174650053797374
656D2E494F0042696E61727952656164657200526561640042696E6172795772697465720057
72697465002E63746F720053797374656D2E436F6C6C656374696F6E732E47656E6572696300
4C6973746031006D656D626572730049436F6C6C656374696F6E603100546F537472696E6700
6765745F49734E756C6C006765745F4E756C6C00506172736500436F756E740048617300496E
636C7564657300496E436F6D6D6F6E00556E696F6E00496E746572736563740049734E756C6C
004E756C6C0076616C7565006F7468657200720077006F626A65637473007300656C656D656E
740073756273657400616E6F74686572006669727374007365636F6E640053797374656D2E52
65666C656374696F6E00417373656D626C795469746C6541747472696275746500417373656D
626C794465736372697074696F6E41747472696275746500417373656D626C79436F6E666967
75726174696F6E41747472696275746500417373656D626C79436F6D70616E79417474726962
75746500417373656D626C7950726F6475637441747472696275746500417373656D626C7943
6F7079726967687441747472696275746500417373656D626C7954726164656D61726B417474
72696275746500417373656D626C7943756C747572654174747269627574650053797374656D
2E52756E74696D652E496E7465726F70536572766963657300436F6D56697369626C65417474
72696275746500417373656D626C7956657273696F6E4174747269627574650053797374656D
2E446961676E6F73746963730044656275676761626C65417474726962757465004465627567
67696E674D6F6465730053797374656D2E52756E74696D652E436F6D70696C65725365727669
63657300436F6D70696C6174696F6E52656C61786174696F6E73417474726962757465005275
6E74696D65436F6D7061746962696C6974794174747269627574650053657269616C697A6162
6C654174747269627574650053716C55736572446566696E6564416767726567617465417474
72696275746500466F726D6174006765745F56616C756500417070656E6400537472696E6700
456D707479006765745F4C656E67746800417267756D656E744E756C6C457863657074696F6E
0052656164537472696E670053716C55736572446566696E6564547970654174747269627574
65006765745F436F756E740049456E756D657261626C6560310041646452616E676500456E75
6D657261746F7200476574456E756D657261746F72006765745F43757272656E7400436F6E63
6174004D6F76654E6578740049446973706F7361626C6500446973706F73650049734E756C6C
4F72456D70747900537562737472696E67005472696D004368617200537472696E6753706C69
744F7074696F6E730053706C697400546F4C6F77657200417272617900536F72740053716C4D
6574686F6441747472696275746500537472696E67436F6D70617269736F6E00457175616C73
0041646400000372000003770000032C0000000000988CD7764C980A49A3DB04E0EFC50A1600
08B77A5C561934E0890306121103200001052001011115052001011208042000111505200101
121905200101121D0606151221010E08200101151225010E0320000E03200002040000120C06
0001120C111503200008042001020E05200102120C080002120C120C120C0328000204080012
0C042001010E0420010102052001011155042001010805200101116961010002000000040054
02124973496E76617269616E74546F4E756C6C73015402174973496E76617269616E74546F44
75706C696361746573005402124973496E76617269616E74546F4F726465720054080B4D6178
4279746553697A65401F000005200112110E0520011211030307010205200112111C02060E05
20020E08080607030E1115022B010002000000020054080B4D61784279746553697A65401F00
0054020D4973427974654F7264657265640105151221010E05151225010E0920010115127901
130008200015117D0113000515117D010E04200013000600030E0E0E0E040001020E0420010E
080B07050E0E0E15117D010E02040701120C0920021D0E1D0311808907100101011D1E00030A
010E0B07060E1D0E08120C021D03240100020054020F497344657465726D696E697374696301
5402094973507265636973650103070108080003020E0E1180950B0705020E0215117D010E02
050702120C020520010113000D0705120C0E120C15117D010E020807040E1D0E021D03180100
1355736572446566696E6564446174615479706500000501000000000E0100094D6963726F73
6F667400002001001B436F7079726967687420C2A9204D6963726F736F667420323031300000
0801000701000000000801000800000000001E01000100540216577261704E6F6E4578636570
74696F6E5468726F7773010000000000006182CF4B000000000200000091000000D4330000D4
15000052534453E34F9E44F81FB94E95CF281C5235867A01000000443A5C50726F6A65637473
5C55736572446566696E656444617461547970655C55736572446566696E6564446174615479
70655C6F626A5C44656275675C4D6963726F736F66742E456E74657270726973654D616E6167
656D656E742E53716C2E55736572446566696E656444617461547970652E7064620000000090
3400000000000000000000AE3400000020000000000000000000000000000000000000000000
00A034000000000000000000000000000000005F436F72446C6C4D61696E006D73636F726565
2E646C6C0000000000FF25002040000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000100100000001800008000000000000000000000000000000100010000003000008000
0000000000000000000000000001000000000048000000584000000804000000000000000000
00080434000000560053005F00560045005200530049004F004E005F0049004E0046004F0000
000000BD04EFFE0000010000000100F068B30E00000100F068B30E3F00000000000000040000
0002000000000000000000000000000000440000000100560061007200460069006C00650049
006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E
00000000000000B00468030000010053007400720069006E006700460069006C00650049006E
0066006F00000044030000010030003000300030003000340062003000000034000A00010043
006F006D00700061006E0079004E0061006D006500000000004D006900630072006F0073006F
00660074000000500014000100460069006C0065004400650073006300720069007000740069
006F006E0000000000550073006500720044006500660069006E006500640044006100740061
005400790070006500000040000F000100460069006C006500560065007200730069006F006E
000000000031002E0030002E0033003700360033002E00320036003800360034000000000098
003B00010049006E007400650072006E0061006C004E0061006D00650000004D006900630072
006F0073006F00660074002E0045006E00740065007200700072006900730065004D0061006E
006100670065006D0065006E0074002E00530071006C002E0055007300650072004400650066
0069006E0065006400440061007400610054007900700065002E0064006C006C00000000005C
001B0001004C006500670061006C0043006F007000790072006900670068007400000043006F
0070007900720069006700680074002000A90020004D006900630072006F0073006F00660074
002000320030003100300000000000A0003B0001004F0072006900670069006E0061006C0046
0069006C0065006E0061006D00650000004D006900630072006F0073006F00660074002E0045
006E00740065007200700072006900730065004D0061006E006100670065006D0065006E0074
002E00530071006C002E00550073006500720044006500660069006E00650064004400610074
00610054007900700065002E0064006C006C0000000000480014000100500072006F00640075
00630074004E0061006D00650000000000550073006500720044006500660069006E00650064
0044006100740061005400790070006500000044000F000100500072006F0064007500630074
00560065007200730069006F006E00000031002E0030002E0033003700360033002E00320036
003800360034000000000048000F00010041007300730065006D0062006C0079002000560065
007200730069006F006E00000031002E0030002E0033003700360033002E0032003600380036
0034000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000003000000C000000C0340000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000);
set @ClrName = CONVERT(NVARCHAR(4000),
'Microsoft.EnterpriseManagement.Sql.UserDefinedDataType');

-- Drop trusted assembly if exists


IF EXISTS (select * from sys.trusted_assemblies where description =
@ClrName)
BEGIN
EXEC SYS.sp_drop_trusted_assembly @Hash
END

--Add to trusted assembly


EXEC SYS.SP_ADD_TRUSTED_ASSEMBLY @Hash, @ClrName
END
GO

Server operating system


The following versions of Windows Server operating system are supported.

System Center Windows Server Windows Windows Server Windows


component 2016 Standard, Server 2016 2019 Standard, Server 2019
Datacenter Server Core Datacenter Server Core

Service Manager • • • •
Management Server

Service Manager • • • •
Data Warehouse
Management Server
System Center Windows Server Windows Windows Server Windows
component 2016 Standard, Server 2016 2019 Standard, Server 2019
Datacenter Server Core Datacenter Server Core

Service Manager • • • •
Database or Data
Warehouse Database

Service Manager • • • •
Self-Service Portal
(HTML 5)

Client operating system


The following versions of Windows client operating system are supported for the Service
Manager console.

System Center Windows Server® Windows Server® Windows Windows


client-side 2016 Standard, 2019 Standard, 10 11
components Datacenter Enterprise Data Center

Service Manager • • • •
Console

.NET Versions supported


The following versions of .NET are supported for Service Manager.

7 Note

System Center Service Manager 2019 UR4 and later supports .NET 4.8

System Center .NET .NET .NET .NET .NET .NET .NET .NET .NET
component 3.5 4 4.5 4.5.1 4.5.2 4.6 4.6.1 4.7 4.8
SP1

Service Manager • • • • • •
Management Server

Service Manager • • • • • •
Data Warehouse
Management Server

Service Manager • • • • • •
System Center .NET .NET .NET .NET .NET .NET .NET .NET .NET
component 3.5 4 4.5 4.5.1 4.5.2 4.6 4.6.1 4.7 4.8
SP1

console

Service Manager • • • • • •
Self-Service Portal

PowerShell Versions supported


The following versions of PowerShell are supported for Service Manager.

System Center Windows Windows Windows Windows


Component PowerShell 2.0 PowerShell 3.0 PowerShell 4.0 PowerShell 5.0

Service Manager • •
Console

Service Manager • •
Management Server

Service Manager Data • •


Warehouse
Management Server

Next steps
To learn about the retail and select editions of Service Manager and what effect
selecting the 180-day evaluation installation has on these two editions, review
Service Manager editions.
To learn about the tested limits of Service Manager, read Configurations for
deployment scenarios.
Read about Service Manager hardware performance.
SQL Server requirements for System
Center - Service Manager
Article • 10/06/2023

Microsoft SQL Server hosts the databases that System Center - Service Manager creates.
In addition, System Center - Service Manager requires SQL Server Analysis Services
(SSAS) to work with Microsoft Online Analytical Processing (OLAP) cubes. SQL Server
Reporting Services (SSRS) is required to support System Center - Service Manager
reporting.

Use this information to evaluate if your SQL Server environment is ready to support the
installation of or upgrade to System Center. Use this information whether you're
deploying one or multiple components of System Center.

SQL Server version support


System Center 2019 component Service Manager Database or Data
Warehouse Database

SQL Server 2014 Enterprise, Standard (64-bit) Yes

SQL Server 2014 SP1 Enterprise, Standard (64- Yes


bit)

SQL Server 2014 SP2 Enterprise, Standard (64- Yes


bit)

SQL Server 2016, Enterprise, Standard (64-bit) Yes

SQL Server 2017 and Cumulative Updates Yes

SQL Server 2019 with Cumulative Update 8 Yes


(CU8) or later

7 Note

Service Manager 2019 supports SQL 2019 with CU8 or later; however, it
doesn't support SQL 2019 RTM.
Use ODBC 17.3 to 17.10.4.1, and MSOLEDBSQL 18.2 to 18.6.6.

For detailed information about the requirements for Service Manager components, see
Software Requirements.
Allow updates
To either install or upgrade System Center - Service Manager, computers running SQL
Server that host databases must be configured to allow updates. If updates aren't
allowed, System Center - Service Manager Setup won't complete and the following error
message appears at the Create database stage of the installation:

An error occurred while executing a customer action: _ExecuteSqlScripts. This upgrade


attempt has failed before permanent modifications were made. Upgrade has successfully
rolled back to the original state of the system. Once the corrections are made, you can
retry upgrade for this role.

You can check the status of allow updates on SQL Server by executing the following
stored procedure from within SQL Server Management Studio:

sp_configure 'allow updates'

In the results table, examine the value for run_value. If the value of run value is 1, set it
back to 0 with the following stored procedure, and then run Setup again.

sp_configure 'allow updates',0 reconfigure with override

AlwaysOn Availability Groups considerations


for Service Manager databases
SQL Server AlwaysOn Availability Groups functionality is supported by System Center -
Service Manager.

For more information about installing Service Manager with AlwaysOn availability
groups, refer here.

Next steps
To learn about the retail and select editions of Service Manager and what effect
selecting the 180-day evaluation installation has on these two editions, review Service
Manager editions.
Release notes for System Center Service
Manager
Article • 07/20/2023

This article provides the release notes for System Center Service Manager 2019.

Release Notes for System Center 2019 - Service


Manager
The following sections detail the release notes for Service Manager 2019 and include the
known issues and workarounds.

For issues fixed in SM 2019 UR1, see the KB article .

For issues fixed in SM 2019 UR2, see the KB article .

Known issues and workarounds

Manual steps to activate Data Warehouse Server


Description: Service Manager Data Warehouse isn't activated as part of the
Management Server license activation. You must manually activate the Data Warehouse.

Workaround: Follow these steps to manually activate the Data Warehouse server:

1. Open Windows PowerShell.

2. Change directory to Installation folder/Powershell.

3. Run the following command to import PowerShell module; – Import-Module


.\System.Center.Service.Manager.psm1

4. Run Set-SCSMLicense powershell cmdlet to activate the license.

7 Note

DW server is the management server input to this command.

SCSM doesn’t work with default SSAS mode on SQL 2017


Description: System Center Service Manager 2019 requires SQL Server Analysis Services
(SSAS) to work with Microsoft Online Analytical Processing (OLAP) cubes. With SQL
2017, the default SSAS mode is Tabular. Service Manager’s Management Server and
Data Warehouse only work with SSAS mode Multi-Dimensional and not Tabular.

Workaround: In case of fresh installation of SQL Server 2017, select the SSAS mode as
Multi-Dimensional. In case of an upgrade from an earlier version of SQL Server to SQL
Server 2017, the older SSAS mode persists. Hence, no manual step is required for SQL
Server upgrade scenario.

Installation of SM 2019 on TLS 1.2 machine fails


Description: Fresh Installation of System Center Service Manager 2019 or an upgrade
from a previous version to SM 2019 fails if the computer is TLS 1.2 hardened.

Workaround: Disable TLS 1.2 before the installation/upgrade and re-enable it after the
upgrade is complete.

Prerequisite for installing SM Authoring Tool


Description: Install Microsoft Visual C++ 2012 Redistributable before you deploy Service
Manager Authoring Tool 2019.

Workaround: None.

Create Exchange Connector wizard might crash


Description: When you create a new Exchange Connector using Service Manager 2019
console, it gives an exception if the admin selects the Test Connection in the Server
Connection pane of Create Exchange Connector wizard.

Workaround: Don't select Test Connection in the Create Exchange Connector wizard.
Instead, select the Next button, which internally tests the connection and doesn't crash
the wizard. If the crash has occurred, restart the wizard and use this workaround.

Domain selection through Browse options fails in AD


connector wizard
Description: An error occurs when you select Browse to choose the domain or OU in
Active Directory connector wizard of Service Manager 2019 console.
Workaround: Install Microsoft Visual C++ 2012 Redistributable on the computer and
use the AD connector wizard.

Error while creating a new software type configuration


item
Description: The property Is Virtual Application field in Create Software configuration
item form is mandatory, but it doesn't carry the asterix (*) that indicates a mandatory
item.

When you don't fill this field and select Ok or Apply, an error appears and you can't use
the form.

Workaround: Reopen the create Software configuration item form, and fill all the details
including the field Is Virtual Application, and select OK or Apply.

Steps to configure remote SQL Server reporting services


Description: During deployment of the Service Manager data warehouse management
server, you can specify the server to which Microsoft SQL Server Reporting Services
(SSRS) will be deployed. During this setup, the computer that is hosting the data
warehouse management server is selected by default. If you specify a different computer
to host SSRS, you're prompted to follow a procedure to prepare the server.

Workaround: To specify a different computer to host SSRS, perform the steps detailed
here.

SM console installed on a VMM Server causes VMM


connector failure
Description: If you install Service Manager console on the same server as VMM, then
you can't use that Service Manager console to create a VMM connector to that VMM
server.

Workaround: Use a different Service Manager console to create the VMM connector.

SM console installed on an Operations Manager


management server causes an error
Description: You can't install the Service Manager console on an Operations Manager
management server. This capability is currently not supported.
Workaround: None.

Data Warehouse Setup might fail if the DB or log path


has a single quote
Description: During setup, if you specify a database or log path that includes a single
quotation mark character ('), setup might fail.

Workaround: Use the path without a single quotation.

Setup might fail if the SM Authoring Tool was installed


earlier
Description: Setup of SM Authoring tool might fail if you've previously installed any
version of the Service Manager Authoring Tool.

Workaround: Remove the earlier version of Service Manager Authoring Tool, and then
retry the setup.

Setup does not install the Report Viewer language pack


Description: Setup includes a prerequisite checker that checks for and, if necessary,
installs the Microsoft Report Viewer. However, Setup doesn't install the Report Viewer
language pack, which makes the Microsoft Report Viewer compatible with Windows
operating systems that are configured to use languages other than English.

Workaround: If your system is configured to use a language other than English, you
should manually install the Report Viewer Language Pack for that language.

SM Setup fails if a SQL Server instance contains a $


character
Description: If you attempt to install Service Manager using a named Structured Query
Language (SQL) instance that contains a dollar sign ($) character, setup fails.

Workaround: Use a SQL instance that doesn't contain the $ character in its name.

Orchestrator Connector Account Password cannot


contain $ characters
Description: If the Orchestrator connector account password contains a $ character, the
sync job completes; however, runbooks aren't updated in the Service Manager database.

Workaround: If your Orchestrator connector account password contains a $ character,


change the password to one that doesn't include the $ character.

Setup logs display in English only


Description: The Setup logs in Service Manager are available in English only.

Workaround: None.

Errors might occur when you modify or delete Service


Request template items
Description: When you create a service request using a request offering template and
you modify or delete activities that are contained in the template, various errors might
occur that prevent you from saving the service request.

Workaround: When you create service requests, avoid modifying or deleting activities
that are contained in a request offering template. If necessary, you can create a new
request offering template with only the activities that are necessary and configured
properly for your intended use.

Configuration of Reporting Server might take a longer


time
Description: When you install the data warehouse, validation of the default web server
URL might take as long as 25 seconds to complete.

Workaround: None.

Double-Byte characters are sent incorrectly to search


provider
Description: When you perform a knowledge search and you enter double-byte
characters in the Search Provider box, they aren't sent correctly to the search website.
Instead, erroneous characters are sent.

Workaround: None.
Sorting knowledge articles by date does not work
Description: When you try to sort knowledge articles by date, sorting doesn't work.

Workaround: None.

Inconsistent formats for time in some areas


Description: The time format in some views, such as
Workitems/IncidentManagement/All Incident, isn't consistent with the system local
settings. This issue might occur when you work with the views in unsealed management
packs (MP).

Workaround: To resolve this issue, follow the steps:

1. Export the Service Manager Incident Management Configuration Library


management pack.

2. Modify the management pack. Locate the LastModified column and modify the
binding as shown below:

Before modification

<mux:Column Name="lastModified" DisplayMemberBinding="{Binding


Path=$LastModified$, Mode=OneWay}" Width="150"
DisplayName="Header_Last_Modified" Property="$LastModified$"
DataType="s:DateTime" />

After modification

<mux:Column Name="lastModified" DisplayMemberBinding="


{datebinding:DateBinding Path=$LastModified$, Mode=OneWay}" Width="150"
DisplayName="Header_Last_Modified" Property="$LastModified$"
DataType="s:DateTime" />

1. Repeat steps 1–2 for columns that are named LastModified.


2. Reimport the modified management pack.
3. Restart the console.

Data Warehouse Setup might fail, if SSRS is installed


locally on the Data Warehouse Management server
Description: If SSRS 2017 or later is installed locally on the Data Warehouse
Management server, Data Warehouse setup might fail at Install services phase, with the
following error: An error occurred while executing a custom action:_CreateSrsFolder_SC.

This issue is observed in Service Manager 2019 with Windows 2019.

Workaround: After initiating the Data Warehouse setup, check if the SSRS service stops
during the setup. If it stops, start the SSRS service prior to Install services phase.

Report management pack deployments might fail


Description: After a successful Data Warehouse installation, deployments of Report
management packs might fail if SQL Server Reporting Services (SSRS) is running locally
on the Data Warehouse management Server and SSRS is 2017 or later.

This issue is observed in Service Manager 2016 and later.

Workaround: Perform the steps detailed here.

Next steps
What's new in Service Manager.
Enable Service Logon
Article • 07/13/2023

Security best practice is to disable interactive and remote interactive sessions for service
accounts. Security teams across organizations have strict controls to enforce this best
practice to prevent credential theft and associated attacks.

System Center - Service Manager (SM) supports hardening of service accounts, and
don't require granting the Allow log on locally user right for several accounts, required in
support of SM.

You must provide service logon permission to the following accounts that are used by
SM management server and data warehouse management server.

Service Manager Services Account: This account is used for System Center Data Access
Service and System Center Management Configuration service.

This account requires service logon permission.

Service Manager Workflow account This account is used to run the MonitoringHost.exe
process (runs all the Workflows). This account requires service logon permission.

7 Note

We recommend that you provide service logon permission to the accounts used by
various SM connectors (AD, OM, SCO, CM, VMM, exchange connectors). Service
reporting account and analysis services accounts don't require service logon
permission.

To enable service logon


You can grant service logon permission through a domain policy or a local group policy.

To enable using domain policy, contact your administrators. To use local group policy,
see the section on enable service through a local group policy

Identify the accounts that need service logon


permission
If required accounts aren't provided with service logon permission, then
monitoringhost.exe doesn't run under those accounts. Which means, some of the
workflows such as SLA/SLO wouldn't run. In such case, the following error event is
logged in the Operations Manager event log:

The Health Service couldn't log on the RunAs account XXXXXXX for management group
XXXX because it hasn't been granted the *Log on as a service

Here's a sample error:

Enable service log on through a local group


policy
Follow these steps:

1. Sign in with administrator privileges to the computer from which you want to
provide Log on as Service permission to accounts.

2. Go to Administrative Tools and select Local Security Policy.

3. Expand Local Policy and select User Rights Assignment. In the right pane, right-
click Log on as a service and select Properties.

4. Select Add User or Group option to add the new user.

5. In the Select Users or Groups dialog, find the user you wish to add and select OK.

6. Select OK in the Log on as a service Properties to save the changes.


Change logon type from a default value


Default logon type is Service log on. After new installation of SM or an upgrade, logon
type will be Service log on, by default.

You can change the default logon type by using the following steps:

1. Sign in with administrator privileges to the computer from which you want to
provide Log on as Service permission to accounts.

2. Run gpedit.msc

3. Under Computer Configuration, expand Administrative Templates.

4. Select System Center – Operations Manager.

5. Right-click Monitoring Action Account Logon Type, select Edit, and select
Enabled.

6. Choose Logon Type from the dropdown menu.



Manage telemetry settings in Service
Manager
Article • 03/28/2023

This article provides information about how to manage the telemetry (Diagnostics and
utility data) settings in System Center - Service Manager (SM).

By default, SM sends diagnostic and connectivity data to Microsoft. Microsoft uses this
data to provide and improve the quality, security, and integrity of Microsoft products
and services.

Administrators can turn off this feature at any point of time by using the Service
Manager Console or self-service portal’s Web.config file.

7 Note

Microsoft doesn't collect any personal data from the customers. We only listen to
events that would help diagnostics in SM. Learn more.

Manage telemetry settings using SM console


Use the following procedure:

1. In the SM console > toolbar, select Help.

2. In the Help menu, select Send diagnostic and usage data to Microsoft.

3. Select the diagnostic and usage data sharing preference from the options
displayed, and select OK.
Manage telemetry settings from SM
management server or data warehouse
management server

7 Note

Use the SM console that is installed on the same computer where the SM
management server or data warehouse management server is installed.
You must restart the computer after you set the telemetry preference.

1. Connect the console to the server from where you want to manage the telemetry
settings.

2. Follow the steps as detailed in the above procedure.

3. Once you're done with the settings, in the Run dialog, enter services.msc, and select
OK.

4. In the Services window, Services (Local) pane, locate the System Center Data Access
Service, and select Restart.

Manage telemetry settings from the self-


service portal
1. Sign in as administrator into the IIS server that is hosting the SM self-service portal.
2. Open the Web.config file in the directory where SM self-service portal is installed.

3. In Web.config file, find the key EnableTelemetry under the XML tag appSettings.

4. Configure the value of EnableTelemetry key depending on your preference.

To share the diagnostics and utility data with Microsoft, set the value as true.
Set the value as false if you don't wish to send the data.

5. Save and close the Web.config file.

6. Restart the IIS service after you make any changes to the Web.config file.
Telemetry data collected
Data related To Data collected

Censes and other settings Unique ID generated for the SM deployment

SM version

ID used for correlation with other System Center products

Default language for the installation

Data warehouse management group ID

Identify that telemetry has been disabled

Width and height of the screen


Data related To Data collected

Usage Name of tasks used

Type of form used

Time taken to load forms

Name of views used

No. of rows fetched and loaded for each view

Time taken to load view

Cmdlets used

Parameters used in cmdlets

Time taken for execution

Exception generated

Reports being used

Parameters used

Time to load reports

Time to load reports

Total no. of clicks on a report

Whether connected to the SDK service

Whether Lync and (or) Skype is being used

Whether Connector ECL Log is enabled or not

Whether concurrent transactions setting is enabled or not

Next steps
Manage incidents and problems.
Planning for System Center - Service
Manager deployment
Article • 08/22/2023

Welcome to the planning guide for System Center - Service Manager. This article and
others in this guide help you understand the hardware and software requirements as
well as software roles you need to prepare for Service Manager before you deploy it in
your company or organization. There are also general guidelines that can help you plan
for the better hardware and software performance and scalability.

After you've read the planning information in this guide, you should read the
deployment guide to fully understand the steps needed to deploy Service Manager and
get it configured for use.

Plan for System Center - Service Manager deployment article describes the pieces that
make up Service Manager, such as the Service Manager management server, the Service
Manager database, the data warehouse management server, the data warehouse
databases, and the Service Manager console. This article also describes the hardware
and software requirements, the databases created by Service Manager, and the port
numbers used by Service Manager.

Prepare for System Center - Service Manager deployment article describes how to
prepare a computer to host Service Manager. For example, the sections in this article
describe how to uninstall a previous version of Service Manager and how to ensure that
SQL Server Reporting Services (SSRS) is installed. They also describe the account
considerations for you to consider.

Plan for System Center - Service Manager performance and scalability article describes
the issues that affect performance and scalability in Service Manager. It also suggests
best practices to achieve good performance using suggested hardware configurations.

Next steps
Review Plan your deployment.
Plan for System Center - Service
Manager deployment
Article • 08/22/2023

For System Center - Service Manager, several deployment options are available, and
three options are presented in this article.

The first deployment option uses one physical computer and one virtual computer.
The physical computer hosts the Service Manager management server, the Service
Manager database, and the data warehouse databases, and it also hosts the virtual
server. The virtual computer hosts the data warehouse management server. This
deployment is used primarily for lightweight or first-impression evaluation of
Service Manager. No scalability or performance estimates are available for this
scenario.

A second deployment option requires the use of two computers. The first
computer hosts the Service Manager management server and the Service Manager
database. The second computer hosts the data warehouse management server and
the data warehouse databases. If you don't need reporting services, you can—at
an absolute minimum—install Service Manager on one computer that hosts both
the Service Manager management server and the Service Manager database.

A third deployment option maximizes performance and scalability by using four


computers. Two computers host the management servers, and the remaining two
computers host the databases. The computers hosting the databases are the only
two computers in this scenario that require the installation of Microsoft SQL Server.

You might decide that, for the evaluation phase, you will choose the option to install
Service Manager on two computers. After installing Service Manager in the lab, you can
import data from Active Directory Domain Services (AD DS) and Configuration Manager,
and then you can import data and alerts from Operations Manager. You would then
configure User Roles within Service Manager and, if necessary, manually add users that
weren't imported from AD DS. The following illustration represents an overview of this
installation and the initial configuration.
You can limit the number of SQL Server licenses that you need by placing all of the
Service Manager databases on the same computer, as shown in the following
illustration.

You continue the deployment process by creating several templates; configuring initial
parameters; creating queues, lists, and groups; and then creating a management pack to
save these custom objects.

After the evaluation phase is complete, you might install Service Manager in a
production environment and select the deployment scenario in which Service Manager
is installed on four computers.

Multiple Service Manager management servers


and one data warehouse
The Service Manager management server and its associated Service Manager database
make up a Service Manager management group. The data warehouse management
server and its associated databases make up a data warehouse management group.
After deploying Service Manager, you will register the Service Manager management
group with the data warehouse management group.

In your enterprise, you might create multiple Service Manager management groups. You
can centralize reporting for multiple Service Manager management groups by
registering multiple Service Manager management groups with a single data warehouse
management group.

Next steps
To learn about the major parts of Service Manager, review Service Manager parts.
System Center - Service Manager
editions
Article • 08/22/2023

System Center - Service Manager is available as both a retail edition and a select edition.
Both editions offer the same functionality. The retail edition is purchased separately, and
it includes a product key that you enter during setup. The select edition is delivered as
part of a Microsoft Volume Licensing plan, and a product key isn't required.

During setup of the retail edition of System Center - Service Manager, you have the
option of performing the installation without a product key and instead installing
Service Manager as an evaluation edition. The evaluation edition times out 180 days
after installation. If you start with an evaluation version of Service Manager and you
rerun Setup and install the retail edition or select edition, and you decide to use the
existing databases that you created originally, your installation will time out after the
original expiration date.

The following table describes the interactions between the various editions of Service
Manager.

If you started And then rerun Setup to Will the new installation time
with ... install ... out?

Evaluation Edition Retail Edition Yes

Evaluation Edition Select Edition Yes

Retail Edition Evaluation Edition No

Retail Edition Select Edition No

Select Edition Retail Edition No

Next steps
To learn about the hardware and software configurations for Service Manager,
review supported configurations. Specific considerations about the memory that
servers need to support Service Manager are included.
Recommended deployment topologies
for Service Manager
Article • 05/16/2023

For performance and scalability planning purposes, we recommend that you plan your
deployment topology for System Center - Service Manager using scenarios that we've
tested. While these aren't firm guidelines, Microsoft has tested deployment topologies
using these scenarios and found that each configuration achieves satisfactory
performance.

Test and small deployment scenarios


The test and small deployment scenarios contain only two servers and support 100 to
2,000 computers. In these configurations, a single physical computer hosts a virtual
server.

Select the required tab to view the Service Manager roles and hardware configuration
for the Test and small deployment scenarios:

Test scenario

In this scenario, we recommend the following Service Manager roles and hardware
as described.

Service Manager roles:

One computer with a Service Manager management server, a Service Manager


database, SharePoint server/site and web content server (WCS), and Service
Manager console.
One data warehouse server. The Self-Service Portal should be placed on a
computer other than the one hosting the data warehouse.

Hardware configuration:

8-core 2.66 GHz CPU


16-GB RAM (5 GB for each virtual computer and 1 GB for the host computer)
100 GB of available disk space

This configuration was tested with the following load.

Description Value
Description Value

Number of Supported End Users Up to 500

Number of Computers in the Service Manager database 500

Number of New Incidents per Month for each computer 2

Number of New Change Requests per Month 20

Number of Concurrent Consoles 2

Is the Self-Service Portal Installed? Yes

Is the Active Directory Connector Enabled? Yes

Is the Configuration Manager Connector Enabled? Yes

Is the Operations Manager Connector Enabled? Yes

Medium deployment scenario


The medium deployment scenario contains two servers and supports 2,001 to 5,000
computers. In this configuration, two physical computers host the Service Manager
management server and Service Manager data warehouse management server.

We recommend the following hardware, configured for roles and hardware as described.

Hardware configuration for the Service Manager management server:

4-core 2.66 GHz CPU


8-GB RAM
2 disk RAID 1

Hardware configuration for the Service Manager data warehouse management server:

4-core 2.66 GHz CPU


8-GB RAM
2 disk RAID 1

Hardware configuration for the Self-Service Portal with web content server with
SharePoint Web Parts:

8-core, 64-bit CPU


16 - 32 GB RAM, depending on the size of the expected database
80 GB of available hard disk space
This configuration was tested with the following load.

Description Value

Number of Supported End Users 2,001 to 5,000

Number of Computers in the Service Manager database 3,000

Number of New Incidents per Month for each computer 2

Number of New Change Requests per Month 150

Number of Concurrent Consoles 15 to 30

Is the Self-Service Portal Installed? Yes

Is the Active Directory Connector Enabled? Yes

Is the Configuration Manager Connector Enabled? Yes

Is the Operations Manager Connector Enabled? Yes

Large deployment scenario


The large deployment scenario contains four servers and supports 5,001 to 20,000
computers. In this large configuration, four physical computers host server roles.

In this scenario, we recommend the following hardware, configured for roles and
hardware as described.

Hardware configuration for the Service Manager management server:

4-core 2.66 GHz CPU


8 GB RAM
2 disk RAID 1
10 GB of available hard disk space

Hardware configuration for the Service Manager data warehouse management server:

4-core 2.66 GHz CPU


8-GB RAM
2 disk RAID 1
10 GB of available hard disk space

Hardware configuration for the Service Manager database server:

8-core 2.66 GHz CPU


8 - 32 GB RAM, depending on the size of the expected database
4 RAID 1+0 disk drives for data
2 RAID 1 disk drives for logs

Hardware configuration for the Service Manager data warehouse database server:

8-core 2.66 GHz CPU


8-GB RAM
4 RAID 1+0 disk drives for data
2 RAID 1 disk drives for logs
80 GB of available hard disk space

Hardware configuration for the Self-Service Portal with web content server:

4-core 2.66 GHz CPU


8 - 16 GB RAM, depending on the size of the expected database
1 GB of available hard disk space

Hardware configuration for the Self-Service Portal with SharePoint web parts:

4-Core 2.66 GHz CPU


8-GB RAM
80 GB of available hard disk space

This configuration was tested with the following load.

Description Value

Number of Supported End Users 5,001 to 20,000

Number of Computers in the Service Manager database 20,000

Number of New Incidents per Month for each computer 2

Number of New Change Requests per Month 2,000

Number of Concurrent Consoles 40 to 60

Is the Self-Service Portal Installed? Yes

Is the Active Directory Connector Enabled? Yes

Is the Configuration Manager Connector Enabled? Yes

Is the Operations Manager Connector Enabled? Yes

Advanced deployment scenario


The advanced deployment scenario contains more than four servers and supports more
than 20,000 computers. Each additional management server can host up to 60 Service
Manager consoles.

In this scenario, we recommend the following hardware, configured for roles and
hardware as described.

Hardware configuration for the Service Manager management server:

4-core 2.66 GHz CPU


8-GB RAM
2 disk RAID 1
10 GB of available hard disk space

Hardware configuration for each additional Service Manager management server:

4-core 2.66 GHz CPU


8-GB RAM
2 RAID 1 disk drives

Hardware configuration for the Service Manager data warehouse management server:

4-core 2.66 GHz CPU


8-GB RAM
2 RAID 1 disk drives
10 GB of available hard disk space

Hardware configuration for the Service Manager database server:

8-core 2.66 GHz CPU


8-GB RAM to 32-GB RAM, depending on the expected size of the database
4 RAID 1+0 disk drives for data
2 RAID 1 disk drives for logs

Hardware configuration for the Service Manager data warehouse database server:

8-core 2.66 GHz CPU


8 - 16 GB RAM, depending on the size of the expected database
4 RAID 1+0 disk drives for data
2 RAID 1 disk drives for logs

Hardware configuration for the Self-Service Portal with web content server:

4-core 2.66 GHz CPU


8 - 16 GB RAM, depending on the size of the expected database
1 GB of available hard disk space

Hardware configuration for the Self-Service Portal with SharePoint web parts:

4-core 2.66 GHz CPU


8-GB RAM
80 GB of available hard disk space

Hardware configuration for each Service Manager console:

2-core 2.0 GHz CPU


4-GB RAM
10 GB of available hard disk space

This configuration was tested with the following load.

Description Value

Number of Supported End Users More than 20,000

Number of Computers in the Service Manager database 20,000 to 50,000 or more

Number of New Incidents per Month for each computer 2

Number of New Change Requests per Month 2,000 or more

Number of Concurrent Consoles 60 to 100

Is the Self-Service Portal Installed? Yes

Is the Active Directory Connector Enabled? Yes

Is the Configuration Manager Connector Enabled? Yes

Is the Operations Manager Connector Enabled? Yes

Next steps
To learn about deploying Service Manager in one of several different scenarios, review
Deploy System Center - Service Manager.
Operations Manager deployment
consideration in Service Manager
Article • 03/16/2023

This article summarizes considerations for deploying System Center - Operations


Manager together with System Center - Service Manager.

Service Manager console


Installing the Service Manager console on an Operations Manager management server
isn't supported. If you do install it, the Operations Manager SDK service stops.

Management group names


When you deploy a Service Manager management server and a data warehouse, you
need to provide a management group name. You also need to provide a management
group name when you deploy Operations Manager.

Each name must be unique.


Renaming a management group isn't supported. If you do assign the same
management group name to Operations Manager and Service Manager, you've to
reinstall the Service Manager management server, or choose not to manage your
Service Manager installation with Operations Manager.

Database collations
You must use the same supported language collations if you want to import data
from Operations Manager into Service Manager.
This only applies to the Operations Manager database, and the SM
DWStagingAndConfig database, when you create an Operations Manager Data
Source for the data warehouse. Specifically, this appears in the Service Manager
console as a Data Warehouse Data Source.
This doesn't affect either the Operations Manager to Service Manager
Configuration Item connector, or the Operations Manager to Service Manager
Alert Incident connector.
If you've databases with collations that don't match, you can't use the Operations
Manager to Service Manager data warehouse connector. This connector imports
alerts from the Operations Manager database, to the Service Manager
DWStagingAndConfig database.

Service Manager compatibility


You can use any supported database collation for any System Center component with
any supported Service Manager collation.

Operations Manager compatibility


This section describes the compatibility of Operations Manager and Service Manager.

Operations Manager
Operations Manager is supported by Service Manager, and Service Manager for
connectors and agents. Other Operations Manager versions aren't supported for data
source registration. When you register a data source in the Data Warehouse workspace,
only corresponding System Center versions are supported.

Operations Manager agents


Service Manager includes an Operations Manager agent. The agent is automatically
installed when you deploy Service Manager. After installation, you must manually
configure the agent to communicate with the Operations Manager management server.

To validate that the agent is installed, open Control Panel, and verify that the agent
is present.

To monitor a server running the Self-Service Portal, or the Service Manager


console, deploy the Operations Manager agent on the server before you install the
portal or console.

If you remove the console or Self-Service Portal on a machine that's running the
Operations Manager agent, the agent is also removed.

If you've already installed the portal or console on a server that doesn't host other
Service Manager roles, then agent deployment will fail. To prevent the failure, back
up the registry key as follows:

1. Export the Service Manager key from


HKEY_CLASSES_ROOT\Installer\Products\<ServiceManagerGUID>. You can
find the key by searching at the Products node for Data equal to Service
Manager.
2. Delete the registry key.
3. Deploy the Operations Manager agent to the server.
4. Import the key you exported from step 1.

Next steps
Review languages supported by Service Manager.
Databases created by System Center -
Service Manager
Article • 08/22/2023

Before you start the installation of System Center - Service Manager, you may want to
meet with your SQL Server administration team to discuss the effect Service Manager
has on your computers running SQL Server, specifically the databases that are created.
The databases that are created by the deployment of Service Manager are listed in the
following table.

Service Database name Contents


Manager
parts

Service Service Manager Configuration Items, Work Items, Incidents


Manager
database

Service DWStagingAndConfig These first three databases make up the data warehouse.
Manager The extract process populates the DWStagingAndConfig
data DWRepository database, which is transformed into a proper format in
warehouse the DWRepository database, which, through the load
DWDataMart process, becomes the content for the DWDataMart
database.
DWASDataBase
The DWASDatabase is used by SQL Server Analysis
OMDWDataMart Services (SSAS) and stores Microsoft Online Analytical
Processing (OLAP) cubes.
CMDWDataMart
The OMDWDataMart and CMDWDataMart databases are
for collecting data from Operations Manager and
Configuration Manager, respectively.

) Important

Service Manager doesn't support case-sensitive instance names. Setup will display
a warning if you attempt to install Service Manager on a case-sensitive instance of
Microsoft SQL Server.

Next steps
To learn about the port numbers that are used in your Service Manager
environment, review port assignments for Service Manager.
Port assignments for System Center -
Service Manager
Article • 03/16/2023

As part of your security infrastructure, you may want to keep track of port numbers that
are used throughout your System Center - Service Manager environment. And while
these port numbers aren't configurable, you can review the following table that lists port
numbers that are used between the parts of Service Manager. You will want to ensure
that these firewall ports are opened on computers that host Service Manager.

Port assignments
Component (piece A) Port Component (piece B)
number/direction

Service Manager console 5724 ---> Service Manager management server*

Service Manager console 5724 ---> Data warehouse management server

Service Manager management 1433 ---> Remote Service Manager database


server

Service Manager management 5724 ---> Data warehouse server


server

Service Manager management 5724 ---> Operations Manager Alert and CI


server connectors

Service Manager management 389 ---> Active Directory Connector


server

Service Manager management 1433 ---> Configuration Manager Connector


server

Data warehouse management 1433 ---> Remote data warehouse database


server server

Data warehouse management 1433 ---> Remote Service Manager database


server server

Data warehouse management 2383 ---> SQL Server Analysis Services**


server

SQL reporting service server 1433 ---> Remote data warehouse database
server
Component (piece A) Port Component (piece B)
number/direction

Web browser 80 ---> SQL Server Reporting Services (SSRS)

* Includes initial Service Manager management server and subsequent Service Manager
management servers

** Port 2383 is the default port for SQL Server Analysis Services (SSAS). However, the
port number can be changed. For more information, see Configure Windows Firewall for
Analysis Services Access.

Next steps
Prepare for Service Manager deployment.
Prepare for System Center - Service
Manager deployment
Article • 07/14/2023

Before you start the deployment of System Center - Service Manager, you create a
group of users in Active Directory Domain Services (AD DS), and you create or identify a
domain account that will be used during the Setup process. Ensure that the domain
account is a member of the appropriate groups that are necessary for proper operation
of Service Manager. Keep the following in mind when you're installing Service Manager
and Operations Manager on the same server:

Operations Manager can share the database server with Service Manager.

An Operations Manager agent is automatically installed as part of Service


Manager. After the Setup completes, you must manually configure the agent for
use with the Operations Manager management server.

To validate that the Operations Manager Agent was installed, open the Control
Panel and verify that the Operations Manager Agent is present.

You can install both the Operations Manager console and the Service Manager
console on the same computer. The order in which you install the consoles doesn't
matter.

Don't attempt to use the same SQL Server Reporting Services (SSRS) instance for
both Operations Manager and Service Manager.

Account considerations before you run Setup


Before running Setup for Service Manager, review the following sections to ensure that
the requirements that are needed to install Service Manager have been met. During
Setup, you will be prompted to provide domain users or groups for various Service
Manager functions. Review this information to ensure that you're ready for the setup
process.

Account used when you install Service Manager


This section describes the permissions that you need when you're installing a Service
Manager management server and Service Manager console databases and when you're
registering the Service Manager management group with the data warehouse
management group in Service Manager.

7 Note

The account that you use to run Setup is automatically made an administrator in
Service Manager.

Select the required tab for details of the permissions that you need:

Service Manager management server

You need the following permissions when you're installing a Service Manager
management server:

Local administrator on the computer that you run Setup on


Local administrator on the computer that will host the Service Manager
database if it's on a remote computer
Logged-on user must be a domain account
The Sysadmin SQL Server role on the SQL Server instance where the Service
Manager database is being created

Accounts required when you install Service Manager


You will have to provide credentials for the accounts in the following table during the
installation of the Service Manager and data warehouse management servers.

7 Note

The user accounts and group accounts that are required for the installation of
Service Manager must reside in the Users organizational unit (OU) in Active
Directory Domain Services (AD DS).

Accounts used when installing a Service Manager management


server
Account Permissions How it's used in Service Manager

Management - Must be a domain user or - Added to the Service Manager


group group. Administrators user role.
administrators Important: The user account
that is logged into the computer
during installation of an initial
Service Manager management
server is automatically added to
this group.

Service Manager - Must be a domain user or - Becomes the Operational System


services account group. Account.
- Must be member of local - Assigned to the logon account for the
administrators. System Center Data Access Service.
- Must have Log on as a service. - Assigned to the logon account for
System Center Management Configuration
To set these permissions, use service.
Security Settings > Local - Becomes a member of the sdk_users and
Policies > User Rights configsvc_users database roles for the
Assignment. Service Manager database.
- If you change the credentials for these
Optional: two services, ensure that the new account
has a SQL Login in the ServiceManager
- Deny log on as a batch job database and that this account is a
member of the Builtin\Administrators
- Deny log on through Remote group.
Desktop Services.

Workflow - Must be a domain user or - This account is used for all workflows and
account group. is made a member of the Service Manager
- Must have permissions to send Workflows user role.
email and must have a mailbox
on the Simple Mail Transfer
Protocol (SMTP) server (required
for the E-mail Incident feature).
- Must be member of the Users
local security group.
- Must be made a member of
the Service Manager
Administrators user role for
email notifications for function
properly. Must be a domain user
or group.
- Must be member of local
administrators.
- Must have Log on as a service.

To set these permissions, use


Security Settings > Local
Account Permissions How it's used in Service Manager

Policies > User Rights


Assignment.

Optional:
-Deny log on as a batch job

-Deny log on through Remote


Desktop Services.

Security best practices for accounts


When you're assigning Active Directory accounts for use with Service Manager Run As
Accounts, it's a best practice to use service accounts. We strongly recommend against
using Active Directory user accounts that are associated with individual people.

For more information about security best practices, download a copy of the Windows
Server Security Guide, which is now part of the Windows Server Security Compliance
Management Toolkit .

Accounts used when you install a data warehouse management


server

Account Permissions How it's used in Service Manager

Management - Must be a domain user or - Added to the data warehouse


group group. administrators user role.
administrators

Service Manager - Must be a domain user or - Becomes the data warehouse system
services account group. Run As account.
- Must be member of local - Assigned to the ServiceManager SDK
administrators on the data Service account.
warehouse management server. - Assigned to ServiceManager Config
- Must be the same account account.
that you used for the Service - Becomes a member of the sdk_users
Manager management server and configsvc_users database roles for
services account. the DWDataMart database.
- Becomes a member of the
db_datareader database role for the
DWRepository database.
- Becomes a member of the
configsvc_users database role for the
Service Manager database.
Account Permissions How it's used in Service Manager

Reporting account - Must be a domain account. - Used by SQL Server Reporting Services
- Must have Log on as a (SSRS) to access the DWDataMart
service. database to get data for reporting.
- Becomes a member of the
To set these permissions, use db_datareader database role for the
Security Settings > Local DWDataMart database.
Policies > User Rights - Becomes a member of the reportuser
Assignment. database role for the DWDatamart
database.
Optional:

- Deny log on as a batch job

- Deny log on through Remote


Desktop Services.

Analysis Services - Must be a domain account. - Used to communicate with datamarts.


account - Must have Log on as a - Account is added as an administrator
service. role in the Analysis Services server
database (DWASDataBase) for database
To set these permissions, use processing and cube reading.
Security Settings > Local
Policies > User Rights
Assignment.

Optional:

- Deny log on as a batch job

- Deny log on through Remote


Desktop Services.

Credential used when registering a Service Manager


management group with the data warehouse
management group
As part of the installation process, you register the Service Manager management group
with the data warehouse management group. During this process, you'll be prompted to
provide credentials. The account credentials that you provide must be a domain
account. Furthermore, you will have to provide an account with the following
permissions:

Must be a member of the Administrator user role in both the Service Manager and
data warehouse management groups.
Must be a member of the users local administrator group on the data warehouse
management server.

Accounts required to create connectors


When you're creating connectors, you're asked for credentials that the connector will
use to perform its function. The following outlines the permissions that this account will
need, and it describes best practices for high security.

Connector accounts for Operations Manager, Orchestrator, SCVMM, and AD require Log
on as a service.

To set these permissions, use Security Settings > Local Policies > User Rights
Assignment .

Optional:

Deny log on as a batch job


Deny log on through Remote Desktop Services

Select the required tab to view the permissions and best practices:

Operations Manager Alert connector

Permissions Best practices

- Must be a domain account. Domain account specifically created for this purpose that
- Must be a member of the is only in the Users local security group and in an
Users local security group on Administrator user role in Operations Manager and in an
the Service Manager Advanced Operator user role in Service Manager.
management server.
- Must be an Operations
Manager Administrator.

Prepare computers for Service Manager


deployment
Use the following procedures to prepare computers for deployment of Service Manager.

To prepare computers for Service Manager deployment


1. Ensure that no Operations Manager parts are installed on the computers that will
host either Service Manager or the data warehouse.

2. Create an Active Directory group of users that will be assigned to the role of
Service Manager administrators of both the data warehouse and Service Manager
management groups. For example, create the group SM_Admins.

7 Note

This group of users must be in the same domain that Service Manager is in.
Users from any other domain—even child domains—aren't supported.

3. Create the accounts that are necessary for Service Manager.

7 Note

Service Manager accounts must be in the same domain that Service Manager
is in. Accounts from any other domain—even child domains—aren't
supported.

4. Ensure that the Structured Query Language (SQL) instances that are used for
Service Manager databases are using port number 1433.

5. If you're installing the databases on a remote computer running Microsoft SQL


Server, the user who is running Setup must be a domain user with local
administrator permissions on the SQL Server computer.

6. On computers that will host the Service Manager console, under Internet Options,
Local Area Network (LAN) Settings, select Bypass proxy server for local
addresses.

7. Open a browser, and then enter the following two URLs:

http://<computer hosting SSRS>/reports

http://<computer hosting SSRS>/reportserver

If either connection attempt fails or returns an error—for example, HTTP


Error 404.0 Not Found—complete the steps in the procedure To configure
the reporting server. Otherwise, continue with the installation of Service
Manager.
To configure the reporting server
1. By using an account that has administrator rights, sign in to the computer that will
host SQL Server Reporting Services (SSRS).

2. Select Start, point to Programs, point to Microsoft SQL Server 2008, point to
Configuration Tools, and select Reporting Services Configuration Manager.

3. In the Reporting Services Configuration Connection dialog, ensure that the


information in Server Name and Report Server Instance is correct, and select
Connect.

4. In the Connect pane, select Web Service URL.

5. In the Report Server Web Service Virtual Directory area, in the Virtual Directory
text box, ensure that the entry is ReportServer, and select Apply.

6. In the Connect pane, select Report Manager URL.

7. In the Report Manager Site Identification area, in the Virtual Directory text box,
ensure that the entry reads Reports, and select Apply.

8. In the Connect pane, select the top entry ( <server>\\<instance> ).

9. In the Current Report Server area, select Stop, and select Start.

) Important

When you install System Center Service Manager with SQL Server Reporting
Services (SSRS) 2017 or later, Service Manager reports don't deploy, an event 33410
occurs and displays the details for the deployment failure. See the following
information for the cause and resolution for this issue.

SSRS 2017 version 14.0.600.1274 and later includes a new advanced setting
AllowedResourceExtensionsForUpload. This setting restricts the set of extensions of
resource files that can be uploaded to the reporting server. This issue occurs because
Service Manager reporting uses extensions that aren't included in the default set in
AllowedResourceExtensionsForUpload.

To resolve this issue, add *.* to the list of extensions. Follow these steps:

1. Start SQL Server Management Studio, and then connect to a report server instance
that Service Manager uses.
2. Right-click the report server name, select Properties, and then select Advanced.
3. Locate the AllowedResourceExtensionsForUpload setting, add *.* to the list of
extensions, and then select OK.
4. Restart SSRS.

Next steps
To learn about the issues that affect performance and scalability in Service Manager,
review Planning for performance and scalability. It also suggests best practices to
achieve good performance using suggested hardware configurations.
System Center - Service Manager
performance
Article • 03/16/2023

Performance for System Center - Service Manager server roles and features is affected
by different factors. Generally, there are three areas where positive and negative
performance is most noticeable in Service Manager:

Service Manager console responsiveness. This is the length of time it takes from
the moment you take some sort of action in the console until it completes.

Data insertion time for connectors. This is how long it takes for Service Manager to
import data when a connector synchronizes.

Workflow completion time. This is the length of time it takes for workflows to
automatically apply some kind of action.

Connector performance
Connector initial synchronization can take a significant amount of time; for example, 8
to 12 hours for a large initial synchronization with Configuration Manager. As a
connector synchronizes initially, you can expect performance to suffer for all Service
Manager server roles and processes during this time. This occurs because of the way
data is inserted sequentially into the Service Manager database, which is a Microsoft
SQL Server database. Although you can't hasten the connector's initial synchronization
process, you can plan for the initial synchronization and ensure that the synchronization
process completes well before Service Manager is put into production.

When the initial synchronization is complete, Service Manager continues synchronizing


the differences, which don't have a measurable impact on performance.

Workflow performance
Workflows are automatic processes that occur. They include sending email notifications,
the next step of a change request activating, and automatically applying a template.

Workflow performance considerations include the following:

Normally, workflows start and finish within one minute. When Service Manager
server roles are under a heavy workload, workflows don't complete as quickly as
normal.

In addition, when you create new workflows, such as a new notification


subscription, additional load is placed on the system. As the number of new
workflows that you create increases, the time it takes for each workflow to run also
increases.

When the system is under a heavy load—if, for example, a large number of new
incidents are being created and each incident generates many workflows—performance
might be negatively affected.

Group, queue, and user role impact on


performance
You should plan for groups and user roles early. You should create groups sparingly and
create them for the smallest scope possible. Then, you should initially populate your
database with data from Active Directory Domain Services (AD DS), Configuration
Manager, and System Center Operations Manager before you create your groups.

Often, administrators create groups to ensure that users have access to specified groups
only. For example, in one scenario you might want to create a subset of incidents, such
as incidents that affect computers that are used by human resource personnel. In this
scenario, you might want only specific personnel to be able to view or modify the group
of Sensitive Servers. Then, to enable this type for access, you would need to create a
group for all users and a group for sensitive computers and then ensure that a security
role has access to both the All Users and the Sensitive Servers groups. Inevitably,
creating a group containing all the users results in performance impact because Service
Manager frequently checks to determine if there are changes to the group. This check
occurs once every 30 seconds, by default. For a large group, checking for the changes
creates a heavy load on the system, and it may slow down response time considerably.

Solution 1: You can manually specify how often Service Manager checks for group
changes by modifying a registry key. For example, if you change the group check
frequency from 30 seconds to 10 minutes, you significantly increase performance.
However, queues and service level objectives are special kinds of groups that use the
same group calculation polling interval. So, increasing the value of the polling interval
results in longer times for queue and service level objective calculations.

U Caution
Incorrectly editing the registry may severely damage your system. Before making
changes to the registry, you should back up any valued data on the computer.

To manually specify the group change check interval

1. Run Regedit, and navigate to


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Common\.

2. Create a new DWORD value named GroupCalcPollingIntervalMilliseconds.

3. For its value, specify the interval in milliseconds. The result is multiplied by 6. For
example, to set the interval to 10 minutes, enter 600000.

4. Restart the System Center Management service.

Solution 2: You can use a Windows PowerShell script to add objects of a type, such as
"Users", to a user role. Essentially, an analyst who is logged on in this role can access all
objects that have a type equal to "User". If you use this method, you eliminate the need
for a large group ("All Users") and the expensive check that Service Manager performs
to determine this group membership. On the Service Manager management server, you
can run the following Windows PowerShell script to add the "user" type to a role
"RoleName". You've to modify this example script for your environment.

To run a Windows PowerShell script to add objects to a user role

Modify the following script as necessary, and then run it:

#
# Insert a "type" scope in a role
# Syntax:
# AddTypeToRoleScope -server "put_server_name_here" -RoleName "put display
name of the role here" -TypeToAdd "put display name of the type to add to
scope here"
#
# Note: This is a simple demonstration script without error checking.
#

# set script parameter defaults


param ([String]$Server = "localhost", [String]$RoleName="My Analyst Role",
[String]$TypeToAdd="User")

$a =
[reflection.assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.C
ore")
$m = new-object Microsoft.EnterpriseManagement.EnterpriseManagementGroup
$Server

# Get Type object


# Note: If you need to get a list of all available classes related to
(for example) "User", use this command:
# $m.EntityTypes.GetClasses() | ?{ $_.Name -like '*user*'} | %
{ $_.Name}
#
$type = $m.EntityTypes.GetClasses() | ?{ $_.DisplayName -eq $TypeToAdd}

# Get role object, and insert the type GUID into scope
$role = $m.Security.GetUserRoles() | ?{ $_.DisplayName -eq $RoleName}
$role.Scope.Objects.Add($type.Id)
$role.Update()

#
# Get the value from the database again and validate it is there
if ( $role.scope.objects.Contains($type.Id) ) {
write-host *** Successfully set the scope for role `"
$role.DisplayName`" and it now contains all instances of $type.DisplayName
`( $type.Name `)
} else {
write-host "There was an error trying to insert the scope into the
role."
}

View performance
When you create views, plan on using "typical" classes in the system whenever possible.
Most object classes-for example, Incident Management-have two types: "typical" and
"advanced". The typical object type contains simple references to a small subset of data
that is related to an item. The advanced type contains many complex references to data
that are related to an item. Typical types are simple projections; advanced types are
complex projections. Most advanced object types are used to populate different fields in
forms that you wouldn't normally want to see displayed in a view. Whenever you create
a view based on an advanced object type and when you open the view, Service Manager
queries the database and a large amount of data is read. However, very little of the
retrieved data is displayed or used.

If you encounter performance problems with the views that you've defined when you
use advanced object types in views, switch to using typical types. Alternatively, you can
create your own projection types that contain only the data you need to base a view
upon.
Service Manager database performance
Performance of the Service Manager database is directly affected by various factors,
including the number of concurrent Service Manager consoles that are reading or
writing data, the group change check interval, and data that is inserted by connectors.
More information is available in this document. Here are a few key points:

You should have a minimum of 8 gigabytes (GB) of RAM for the management
server that hosts the Service Manager database in so that you can have an
acceptable response time in typical scenarios.

You should have at least 8 CPU cores on the computer hosting the Service
Manager database.

You can achieve better database performance by segregating log files and data
files to separate physical disks, if possible. You can achieve further benefits by
moving your tempdb to a different physical RAID drive than that of the Service
Manager database. Use a RAID 1+0 disk system to host your Service Manager
database, if possible.

Performance can be negatively affected if the Service Manager database is created


with a smaller size and it's set to autogrow, especially by small increments.

See the Service Manager Sizing Helper tool that is included in the Service Manager job
aids documentation set (SM_job_aids.zip) for help with assessing the size of the
database, and create the database with a size that is closer to the final size. This will help
performance by reducing the number of times the database has to autogrow.

Similarly, all the other best practices for a high-performing database are applicable as
well. For example, if you can take advantage of a superior disk subsystem, you can
benefit from splitting up the groups of tables on respective filegroups and moving them
to a different physical drive.

Service Manager management server


performance
Performance of the Service Manager management server is primarily affected by the
number of active concurrent Service Manager consoles. Because all Service Manager
roles interact with the management server, consider adding additional management
servers if you plan to have a large number of concurrent consoles. You should have 8 GB
of RAM for the management server. You should have at least 4 CPU cores per
management server, assuming that you've 10 to 12 active consoles per CPU core.
Service Manager console performance
Performance of the Service Manager console is primarily affected by the number of
forms that your analysts typically have open and the amount of data that is retrieved by
views. You should have 4 GB of RAM on the computer where the Service Manager
console is installed. If you've views that retrieve a large amount of data, you will need
additional RAM. You should have at least a 4-core CPU for the computer where the
Service Manager console is installed. Because the Service Manager console is an end-
user application, we recommend that you restart it if you see excessive resource
consumption. The Service Manager console aggressively caches information in memory,
which can contribute to overall memory usage.

Service Manager data warehouse database


performance
Performance of the data warehouse is directly affected by various factors, including the
number of concurrent Service Manager management servers sending data, volume of
data stored or the data retention period, rate of data change, and the extraction,
transformation, and load (ETL) frequency. The amount of data that is stored in the data
warehouse increases over time. Ensuring that you archive unnecessary data is important.
Another factor that affects data warehouse performance is the BatchSize setting of ETL
processes.

You can achieve better performance by segregating log files and data files to separate
physical disks. However, you should avoid placing more than one log file per disk.
Similarly, you can achieve better throughput by putting the tempdb on a different
physical disk than the other databases. Lastly, you can benefit by placing the different
databases on their respective physical disks, as well. Use a RAID 1+0 disk system to host
your data warehouse, if possible. You should generally have a minimum of 8 GB of RAM
for the computer where the data warehouse databases are installed. If you have
additional data warehouse data sources from Operations Manager or Configuration
Manager, you should increase the amount of RAM for the databases. You will benefit
from more memory on the computer running SQL Server that hosts the data warehouse,
and even more so if the Datamart and Repository databases are on the same server.
However, if you've 4,000 or fewer computers in your deployment topology, 4 GB is
sufficient. You should have at least 8 CPU cores in the computer where the data
warehouse database is installed. Additional cores will help both ETL and report
performance.
Performance can be negatively affected if all the databases in the system are created
with a smaller size and set to autogrow, especially by small increments. See the Service
Manager Sizing Helper tool that is included in the Service Manager job aids
documentation set (SM_job_aids.zip) to assess the size of the database and create the
database with a size that is closer to the final size, which will help performance by
reducing the number of times that the database has to autogrow.

Service Manager includes built-in support for filegroups. You can benefit from this by
placing the filegroups on separate hard drives. For more information about filegroup
best practices, see the SQL Server documentation.

Service Manager data warehouse server


performance
Performance of the data warehouse server is affected by the number of Service Manager
management servers that are registered to the data warehouse, the size of your
deployment, and the number of data sources. You should generally have a minimum of
8 GB of RAM for the data warehouse server. However, performance will benefit by
having additional memory for advanced deployment scenarios where more than one
Service Manager management server inserts data into the data warehouse. If you must
trade off performance, your highest priority should be for memory for the computer
running SQL Server. You should have at least 8 CPU cores to prevent performance
problems.

Self Service portal performance


The Self-Service Portal is designed for easy access to incident and service request filing.
It isn't designed to handle thousands of users simultaneously.

Performance testing for the Self-Service Portal was focused on typical "Monday
morning" scenarios-specifically, to ensure that on Monday morning hundreds of users
can sign in within a span of 5 to 10 minutes and open incidents with acceptable (less
than 4-to-5 second) response times. This goal was achieved with the minimum hardware
recommended in this document.

Service-level objective performance


There's no specific number of service-level objectives that Service Manager supports.
For example, if an organization typically has few incidents, it can support more service-
level objectives than it might otherwise be capable of. However, a larger incident
volume might necessitate either fewer service-level objectives or a scale-out of
additional hardware and software, as appropriate. We recommend that you create no
more than five service-level objectives for a typical 50,000-computer Service Manager
configuration. You could possibly create more service-level objectives. However, because
conditions vary greatly from organization to organization, Microsoft can't provide a
concrete recommendation for the number of service-level objectives that you shouldn't
exceed. If your deployment configuration suffers from poor performance as a result of
the number of service-level objectives, we recommend that you scale out using the
next-larger deployment scenario, as described in the Configurations for Deployment
Scenarios article of this guide.

Next steps
To learn about hardware and software configurations for Service Manager
deployment scenarios, review Recommended deployment topology scenarios.
Plan for System Center - Service
Manager performance and scalability
Article • 03/16/2023

This article describes general performance and scalability planning guidance for System
Center - Service Manager. While Service Manager is built to meet a performance
standard on minimum recommended hardware, the hardware requirements for your
specific scenario may be higher or lower than the generalized guidelines presented here.
This article also describes considerations for Service Manager software.

Service Manager is a three-tiered application, consisting of a database, a data access


module, and a console:

Every Service Manager deployment topology—from the largest to smallest—


includes all three tiers, whether physically or virtually.
The smallest deployment topology that is supported requires two servers, either
physical servers or virtual servers. The largest deployment topology contains more
than four servers.
The servers host the Service Manager console and Service Manager database on
the management server. The data warehouse management server hosts the Service
Manager data warehouse.

Service Manager Sizing Helper Tool


The Service Manager Sizing Helper tool can help you size the hardware and software
pieces that you will deploy using the details in this guide. The tool is included in the
Service Manager job aids documentation set (SM_job_aids.zip). Although the tool was
created for a previous version of Service Manager, its recommendations are still valid.

Specifically, the sizing tool:

Helps to give you an idea of the type of hardware, such as individual computers,
CPUs, free and used hard drive space, and RAID level, that is needed for different
usage and deployment scenarios. Usage is indicated by the number of
configuration items in the Service Manager database, work items per month, and
days of data in the data warehouse.
Provides topology diagrams for each scenario. The diagrams map the hardware to
scenarios such as single-physical-server, two-server, four-server, and more-than-
four-server scenarios.
Helps you calculate free and used hard drive space that is necessary for a scenario
based on your input. The calculation is an estimate, not a fixed value that you must
meet.

Next steps
Plan for Service Manager hardware performance.
Plan for Service Manager hardware
performance
Article • 03/16/2023

An important part of System Center - Service Manager performance depends on the


hardware configuration and deployment topology that is planned to handle the needs
of your organization. The following sections provide general guidelines to consider
when you're planning for adequate hardware performance.

Hardware performance
The following are the hardware bottlenecks that are most noticeable in Service Manager,
with a significant load and amount of data in the Service Manager database:

1. The most common bottleneck is memory and I/O on the computer that is running
Microsoft SQL Server. If you've the resources, investing in more memory and a
faster I/O subsystem to improve SQL Server I/O will achieve better performance.
2. If you expect to have many consoles connecting to a management server, you can
improve performance to handle peak load by investing in additional CPUs and
memory for the management server or by installing a secondary Service Manager
management server.

Be aware of the recommended minimum hardware for each role, as described in this
document.

The role of virtual machines


Many organizations use virtual machines to host Windows Server applications. Service
Manager server roles, such as the management server and data warehouse server, are
no exceptions. The use of virtual machines might range from all server roles being
virtualized to some other combination of virtual and physical computers.

We don't recommend any specific virtual-to-physical-computer ratio because the needs


of your organization are inherently unique. However, the minimum hardware
requirements for each software role apply to physical computers. If you decide to
virtualize a software role, you should plan to ensure that you've additional hardware
resources for each virtual computer.

Database servers are vulnerable to poor performance on virtual machines if the


following planning guidance isn't followed:
Running SQL Server in a Hyper-V Environment .
You should never use dynamic disks on virtual machines that are intended to host
SQL Server. Use fixed-size virtual hard drives or pass-through.
Hyper-V allows only four virtual CPUs per guest, which might constrain the Service
Manager server if you've many consoles.

Service Manager baseline test results


Service Manager has been baseline-tested for performance and scalability using various
deployment scenarios with the minimum recommended hardware in the form of
physical computers. More specifically, the scenarios were tested with databases
prepopulated and Service Manager consoles creating and updating Incidents and
Change Requests in a loop.

The database was prepopulated with information for two tests:

Test 1 consisted of 20,000 computers, 20,000 users, and all the necessary
configuration items, which were approximately 250,000 configuration items
totaling approximately 2.5 million rows in the database. Test 1 also included 40
active Service Manager consoles.
Test 2 consisted of 50,000 computers, 50,000 users, and related configuration
items, which was approximately 700,000 configuration items totaling 6 million rows
in the database. Test 2 also included 80 active Service Manager consoles.

The tests delivered the following results:

To meet the response-time goals for the 50,000-computer configuration, the SQL
Server memory had to be increased from 8 gigabytes (GB) to 32 GB.
During testing, 200 incidents and 50 change requests for the 20,000-computer
configuration and 500 Incidents and 125 Change Requests for the 50,000-
computer configuration were generated each hour, with three to four notification
subscriptions and templates being processed for each incident and change
request.
Typically, in the baseline testing, workflows, such as notification subscription
processing and template application, ran within one minute of each work item
being generated.

If your organization plans to have fewer than 20,000 supported computers and consoles
and fewer workflows, your Service Manager performance should be acceptable, even if
some of the Service Manager roles are hosted on virtual computers.

However, if you plan to add additional supported computers in the Service Manager
database, you should plan to increase the amount of RAM for the Service Manager
database server beyond the minimum requirements listed in this document. For
example, in the baseline test 8 GB of RAM was installed in the Service Manager database
server that contained records for 20,000 computers. Afterward, you should add 8 GB of
RAM for each increment of 10,000 of computers that you plan to support. For example,
for 50,000 computers plan for 32 GB of RAM. During testing of the 50,000-computer
configuration with 32 GB of RAM installed on the computer running SQL Server,
performance was improved to a state where there was no longer any decreased effect
compared to testing of the configuration before additional computers were added.

Network latency was also tested in the baseline. Network latency was introduced
between the Service Manager console and the Service Manager management server.

7 Note

The Service Manager database server and Service Manager management servers
should be on a low-latency LAN; network latency between the Service Manager
database server and the Service Manager management server may lead to
significant degradation of Service Manager performance.

The tests also delivered the following results:

Where network latency was less than 100 milliseconds (msec), overall Service
Manager console response times were found good.

Where network latency was 150 msec to 200 msec, performance was noted as
usable, with up to a 40-percent degradation in response time in some scenarios.
With latency between 150 msec to 200 msec, you should plan to evaluate the key
scenarios for your organization and determine if Remote Desktop Connection
(RDC) is a better option.

7 Note

Expanding service maps in the Service Manager console was slow with any
amount of latency.

When network latency exceeded 200 msec, overall Service Manager console
response times were observed as poor. If your latency exceeds 200 msec, you
should plan to use RDC or another similar remote access solution for operational
tasks. However, because occasional administrative tasks are less common you
might not need remote access for them.
Next steps
To read general guidelines to consider when you're planning for Service Manager
software performance, review Service Manager performance.
Deploy System Center - Service
Manager
Article • 03/16/2023

The sections in this article help you deploy System Center - Service Manager in one of
several different scenarios. The scenarios range from a simple, one-computer scenario to
a four-computer scenario that is designed to support production-type environments. In
addition, this guide shows you how to register a Service Manager management group
with the Service Manager data warehouse so that you can generate reports. You've the
option of deploying the Self-Service Portal so you can provide access to Service
Manager through a web browser. To improve performance and provide for redundancy,
you can deploy additional secondary Service Manager management servers.

7 Note

It's assumed that you're installing Service Manager on a computer where no


previous version of Service Manager is installed.
Manually configure the SQL Server Reporting Services even when SSRS and
data warehouse management server MS are on the same machine. For
detailed information, see Manual steps to configure remote SQL Server
Reporting Services.

The sections in this article also describe how to find and read the Setup log if you
encounter issues when you deploy Service Manager. And, finally, information about
backing up Service Manager management server encryption keys is included. After you
run Setup, the Encryption Key Backup and Restore Wizard start automatically.

The following sections describe considerations you should read before you deploy
Service Manager.

Manage default language for SQL login


accounts
We recommend English as the default language for the SQL users sign-in accounts.

As date format is based on the language, if the language of SQL user sign-in accounts
isn't English, then a few data Warehouse jobs, especially the jobs that use SQL
SET_DateFormat function, fail. These jobs don't push the data into the data warehouse
from Service Manager or might send incorrect data into the data warehouse, leading to
data corruption in the data warehouse.

You can set the default language for a new SQL sign-in account or change the default
language for an existing account. See the following sections for the steps to use.

Use these steps:

1. Open SQL Management Studio with elevated privileges and connect to SQL server,
where you want to create Service Manager or Data Warehouse databases.

2. Go to Security folder.

3. Right-click Logins folder, and then select New Login as shown below:

4. On the properties page, from the Default language dropdown list, select English.
5. Select OK.

6. To change the default language for an existing sign-in account:


a. Repeat steps 1 and 2.
b. From the Logins folder, select and double-click the account for which you want
to change the default language.
c. Select Properties and repeat step 4 and 5.
Avoid using Turkish language collations with
Service Manager
This section applies only if you're considering deploying a Service Manager database or
data warehouse database to a SQL Server that has been configured to use a Turkish
language collation.

The installation of a Service Manager database isn't supported on a computer running


SQL Server that uses a Turkish language collation. This is true for both the Service
Manager and data warehouse databases. If you specify a computer running SQL Server
that contains a Turkish language collation during the deployment of a Service Manager
database, the following warning message appears.

If you encounter this warning message during the deployment of any of the Service
Manager databases, select OK. On the Database Configuration page, in the Database
server box, enter the name of a computer that is hosting an installation of SQL Server
that is configured with a non-Turkish collation, and then press the TAB key. When
Default appears in the SQL Server instance box, select Next.

Use the Prerequisite checker before you deploy


Service Manager
During installation, System Center - Service Manager Setup performs prerequisite checks
for software and hardware requirements and returns one of the three following states:

Success: Setup finds that all software and hardware requirements are met, and
installation proceeds.

Warning: Setup finds that all software requirements are met, but the computer
doesn't meet minimum hardware requirements. Or the requirements for optional
software are missing. Installation proceeds.
Failure: At least one software or hardware requirement isn't met, and installation
can't proceed. An Installation cannot continue message appears.

7 Note

On the Installation cannot continue screen, there is no option to restart the


prerequisite checker. You must select Cancel to restart the installation process.
Ensure that the computer meets all the hardware and software requirements before
you run Setup again.

Next steps
To learn about how to deploy Service Manager in one-server, two-server, and four-
server topologies, review Deployment scenarios for Service Manager.
Deployment scenarios for System
Center - Service Manager
Article • 08/22/2023

System Center - Service Manager provides for many deployment scenarios. However,
you can't deploy a Service Manager management server and a data warehouse
management server on the same computer. In fact, Setup prevents you from installing
both on a single server. The reason has to do with Service Manager architecture of the
data warehouse, overall performance, and usage of the Operations Manager health
service. The data warehouse was designed for quick data retrieval and hosting both the
Service Manager management server and the data warehouse management server on a
single server will negatively impact performance for both. Additionally, a single server
doesn't scale out as Service Manager usage and data storage grow.

You will also specify the server that hosts SQL Server Reporting Services (SSRS). Don't
attempt to use the same SSRS instance for both Operations Manager and Service
Manager.

7 Note

We recommend English as the default language for the SQL users' sign in accounts.

As date format is based on the language, if the language of SQL user sign in
accounts isn't English, then a few data warehouse jobs, especially the jobs that use
SQL SET_DateFormat function, fail. These jobs don't push the data into the data
warehouse from Service Manager or might send incorrect data into the data
warehouse, leading to data corruption in the data warehouse.

You can set the default language as English for a new SQL sign in account or
change the default language for an existing account. Learn more.

Deployment scenarios
The deployment guide describes the following three deployment scenarios: installing
Service Manager on one computer, installing Service Manager on two computers, and
installing Service Manager on four computers.

7 Note
The collation settings for Microsoft SQL Server must be the same for the computers
that host the Service Manager database, the computers that host the data
warehouse databases, and the computers that host the Reporting Services
database. If you intend to import data from Operations Manager, then the
database collations must match between Service Manager and Operations
Manager.

While we don't recommend it (for performance reasons), if you want to host the Service
Manager management server and the Self-Service Portal on the same computer, you
must deploy the Service Manager management server before you deploy the Self-
Service Portal.

Performing an upgrade from technical preview versions of Service Manager isn't


supported. Furthermore, for this release, Service Manager setup installs files in
predefined folders that might already exist if you've a previous version of Service
Manager installed.

The user installing Service Manager has access to the Service Connection Point (SCP)
object of Service Manager in the Active Directory. This SCP stores the information about
the service. Client applications, such as Service Manager, can connect to services using
the SCP. For more information about service connection points, see Publishing Services
in Active Directory.

Next steps
To install Service Manager on a single computer, review Install on a single
computer (minimum configuration). This scenario requires you to use a virtual
machine for the data warehouse management server. This scenario is useful for
evaluation purposes.
Install Service Manager on a single
computer (minimum configuration)
Article • 05/30/2023

If you want to evaluate System Center - Service Manager and you've a minimal amount
of hardware available, install Service Manager on one computer. A sample single-
computer configuration is shown in figure 1. This configuration won't support a
production environment, and no scalability or performance estimates are provided.
Because you can't install both the Service Manager management server and the data
warehouse management server on the same computer, use Hyper-V to create a virtual
computer to host the data warehouse management server.

To install Service Manager on a single computer, start with a physical computer that is
running Windows Server and Hyper-V, and ensure that the CPU on the physical
computer is compatible with Hyper-V. Of the 8 gigabytes (GB) of RAM on the host
computer, 3 GB is used for the virtual computer that hosts the data warehouse
management server. Ensure that at least 200 GB of free space is available on the hard
disk drive.

Figure 1: Single-computer installation in which you use a physical computer that is


running Windows Server and Hyper-V

If your organization's best practice guidelines don't allow you to install applications on a
Hyper-V host, you can create a second virtual computer to host the Service Manager
management server, the Service Manager database, and the data warehouse databases.
Use the following procedures to install Service Manager on a single computer.

Install Service Manager


To install System Center - Service Manager on a single computer, you install the Service
Manager management server, database, and console on the computer. Then, you install
the data warehouse on a virtual machine on the same computer.

During Setup, you'll be prompted to provide credentials for the following accounts:

Management group administrator

Service Manager account

Workflow account

For more information about the permissions that these accounts require, see Accounts
Required During Setup in the Planning Guide for System Center - Service Manager.
Before you start, ensure that Microsoft SQL Server is installed on the computer.

Install the Service Manager management server,


database, and console
1. Sign in to the physical computer by using an account that has administrative
credentials.

2. On the Service Manager installation media, double-click the Setup.exe file.

3. On the Microsoft System Center <version> page, select Service Manager


management server.

4. On the Product registration page, enter information in the boxes. In the Product
key boxes, enter the product key that you received with Service Manager, or
alternatively, select Install as an evaluation edition (180 day trial). Read the
Microsoft Software License Terms, and, if applicable, select I have read,
understood, and agree with the terms of the license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which the
Service Manager management server will be installed.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.
If the prerequisite checker determines that the Microsoft Report Viewer
Redistributable hasn't been installed, select Install Microsoft Report Viewer
Redistributable. After the Microsoft Report Viewer Redistributable 2008
(KB971119) Setup Wizard completes, select Check prerequisites again.

7. On the Configure the Service Manager database page, Service Manager checks
the current computer to see if an instance of SQL Server exists. By default, if an
instance is found, Service Manager creates a new database in the existing instance.
If an instance is displayed, select Next.

) Important

A warning message appears if you're using the default collation


(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you've to
reinstall SQL Server. See Planning Guide for System Center - Service
Manager.

8. On the Configure the Service Manager management group page, complete these
steps:

a. In the Management group name box, enter a unique name for the
management group.

) Important

Management group names must be unique. Don't use the same


management group name when you deploy a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager.

b. Select Browse, enter the user account or group to which you want to give
Service Manager administrative credentials, and select Next.

9. On the Configure the account for Service Manager services page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.
10. On the Configure the Service Manager workflow account page, select Domain
account; specify the user name, password, and domain for the account; and then
select Test Credentials. After you receive a The credentials were accepted
message, select Next.

11. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

12. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. If you want Windows Update to check for updates, select
Initiate machine wide Automatic update. Select Next.

13. On the Installation summary page, select Install.

14. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Completing Deployment by
Backing Up the Encryption Key.

Install the data warehouse


1. Sign in to the virtual machine by using an account that has administrative
credentials.

2. On the Service Manager installation media, double-click the Setup.exe file.

3. On the Microsoft System Center <version> page, select Service Manager data
warehouse management server.

4. On the Product registration page, enter information in the boxes. In the Product
key boxes, enter the product key you received with Service Manager, or as an
alternative, select Install as an evaluation edition (180 day trial). Read the
Microsoft Software License Terms, and, if applicable, select I have read,
understood, and agree with the terms of the license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which the
Service Manager data warehouse management server will be installed.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.
7. On the Configure data warehouse databases page, in the Database server box,
enter the computer name of the physical computer that will host the data
warehouse databases, the SQL server port, and Database name for all three data
warehouse databases, and select Next.

) Important

A warning message appears if you're using the default collation


(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you have to
reinstall SQL Server. For more information, see Planning Guide for System
Center - Service Manager.

8. On the Configure additional data warehouse datamarts page, Service Manager


will check the current computer to see if an instance of SQL Server exists. By
default, if an instance is found, Service Manager creates a new database in the
existing instance. If an instance appears, select Next.

9. On the Configure the data warehouse management group page, complete these
steps:

a. In the Management group name box, enter a unique name for the group.

) Important

Management group names must be unique. Don't use the same


management group name when you deploy a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager.

b. Select Browse, enter the user account or group to which you want to give
Service Manager administrative credentials, and select Next.

10. On the Configure the reporting server for the data warehouse page, Service
Manager will use the existing computer if SQL Server Reporting Services (SSRS) is
present. Accept the defaults, and select Next.

7 Note
Manually configure the SQL Server Reporting Services even when SSRS
and data warehouse management server MS are on the same machine.
For detailed information, see Manual steps to configure remote SQL
Server Reporting Services.
The URL that you are presented with might not be in the form of a fully
qualified domain name (FQDN). If the URL as presented can't be
resolved in your environment, configure SQL Server Reporting URLs so
that the FQDN is listed in the Web service URL field. For more
information, see How to: Configure a URL (Reporting Services
Configuration).

11. On the Configure the account for Service Manager services page, select a domain
account; select Domain account; specify the user name, password, and domain for
the account; and select Test Credentials. After you receive a The credentials were
accepted message, select Next.

12. On the Configure the reporting account page, specify the user name, password,
and domain for the account, and select Test Credentials. After you receive a The
credentials were accepted message, select Next.

13. On the Configure Analysis Service for OLAP cubes page, select Next.

14. On the Configure Analysis Services credential page, select a domain account;
select Domain account; specify the user name, password, and domain for the
account; and select Test Credentials. After you receive a The credentials were
accepted message, select Next.

7 Note

The account that you specify here must have administrator rights on the
computer that hosts SSRS.

15. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

16. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. Select Initiate machine wide Automatic update if you want
Windows Update to check for updates. Select Next.
17. On the Installation summary page, select Install.

18. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Completing Deployment by
Backing Up the Encryption Key.

After the installation, do the following:

19. Disable all the Data Warehouse jobs. To do this, open the Service Manager shell,
and then run the following commands:

$DW ='DWMS Servername'

Get-scdwjob -Computername $DW | %{disable-scdwjobschedule -Computername


$DW -jobname $_.Name}

20. Make the required changes in the following PowerShell script based on the data
source views in your environment, and then run the script by using elevated
privileges:

$SSAS_ServerName = "ssas servername" # - to be replaced with Analysis


Service instance Name

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices")
$Server = New-Object Microsoft.AnalysisServices.Server
$Server.Connect($SSAS_ServerName)
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]

#update DWDatamart dsv. Comment the below 3 commands if DWdatamart dsv


is not present

$DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["OperatingsystemDim
"].Columns["PhysicalMemory"].DataType = [decimal]

$DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["LogicalDiskDim"].C
olumns["Size"].DataType = [decimal]

$DWASDB.DataSourceViews["DwDataMart"].Update([Microsoft.AnalysisService
s.UpdateOptions]::ExpandFull)

#update CMDatamart dsv.Comment the below 2 commands if cmdatamart dsv


is not present
$DWASDB.DataSourceViews["CMDataMart"].Schema.Tables["OperatingsystemDim
"].Columns["PhysicalMemory"].DataType = [decimal]

$DWASDB.DataSourceViews["CMDataMart"].Update([Microsoft.AnalysisService
s.UpdateOptions]::ExpandFull)

#update OperatingsystemDim
$DWASDB.Dimensions["OperatingsystemDim"].Attributes["PhysicalMemory"].K
eyColumns[0].DataType = [System.Data.OleDb.OleDbType]::Double

$DWASDB.Dimensions["OperatingsystemDim"].Update([Microsoft.AnalysisServ
ices.UpdateOptions]::ExpandFull +
[Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)
#update LogicalDiskDim

$DWASDB.Dimensions["LogicalDiskDim"].Attributes["Size"].KeyColumns[0].D
ataType = [System.Data.OleDb.OleDbType]::Double

$DWASDB.Dimensions["LogicalDiskDim"].Update([Microsoft.AnalysisServices
.UpdateOptions]::ExpandFull +
[Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)

21. Enable the job schedules by running the following commands:

$DW ='DWMS Servername'

Get-scdwjob -Computername $DW | %{enable-scdwjobschedule -Computername


$DW -jobname $_.Name}

22. Restart the Data Warehouse management server.

Validate the single-computer installation


You can use the following procedures to validate the single-computer installation of
System Center - Service Manager.

Select the required tab for steps to validate the installation of:

Service Manager management server

Follow these steps to validate the Service Manager management server installation:

1. On the physical computer that hosts the Service Manager management server,
verify that the Program Files\Microsoft System Center <version>\Service
Manager\ folder exists.
2. Run services.msc, and then verify that the following services are installed, that
they have a status of Started, and that the startup type is Automatic:

System Center Data Access Service


Microsoft Monitoring Agent
System Center Management Configuration

Next steps
To install Service Manager on two computers, which is a useful scenario for testing
Service Manager in a lab environment, review Install Service Manager on two computers.
Install Service Manager on two
computers
Article • 03/16/2023

If you want to evaluate System Center - Service Manager and its reporting capabilities in
a lab environment, we recommend that you install the Service Manager management
server and data warehouse management server on two computers. The first computer
hosts the Service Manager management server and the Service Manager database. The
second computer hosts the data warehouse management server and the data
warehouse databases. This deployment topology is shown in figure 1.

Figure 1: An installation on two physical computers

) Important

Service Manager doesn't support case-sensitive instance names. Setup will display
a warning if you attempt to install Service Manager on a case-sensitive instance of
Microsoft SQL Server.

Install the Service Manager management


server, Service Manager database, and console
As the first step in the two-computer installation process, install the Service Manager
management server, the Service Manager database, and the Service Manager console
on one of the two computers.

During setup, you'll be prompted to provide credentials for the following accounts:

Management group administrator


Service Manager services account
Service Manager workflow account

For more information about the permissions that these accounts require, see Account
required during Setup.

To install the Service Manager management server,


Service Manager database, and console
1. Sign in to the computer that will host the Service Manager management server by
using an account that has administrative rights.

2. On the Service Manager installation media, double-click the Setup.exe file.

3. On the Service Manager Setup Wizard page, select Service Manager


management server.

4. On the Product registration page, enter information in the boxes. In the Product
key boxes, enter the product key that you received with Service Manager, or as an
alternative, select Install as an evaluation edition (180 day trial. Read the Microsoft
Software License Terms, and, if applicable, select I have read, understood, and
agree with the terms of the license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which the
Service Manager management server will be installed.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.

If the prerequisite checker determines that the Microsoft Report Viewer


Redistributable hasn't been installed, select Install Microsoft Report Viewer
Redistributable. After the Microsoft Report Viewer Redistributable 2008
(KB971119) Setup Wizard completes, select Check prerequisites again.

7. On the Configure the Service Manager database page, Service Manager will check
the current computer to see if an instance of SQL Server exists. By default, if an
instance is found, Service Manager creates a new database in the existing instance.
If an instance appears, select Next.
) Important

A warning message appears if you're using the default collation


(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you've to
reinstall SQL Server. See the Planning Guide for System Center - Service
Manager.

8. On the Configure the Service Manager management group page, complete these
steps:

a. In the Management group name box, enter a unique name for the
management group.

) Important

Management group names must be unique. Don't use the same


management group name when you deploy a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager.

b. Select Browse, enter the user account or group to which you want to give
Service Manager administrative rights, and select Next.

9. On the Configure the account for Service Manager services page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.

10. On the Configure the Service Manager workflow account page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.

11. On the Help improve System Center Service Manager page, indicate your
preference for participation in the Customer Experience Improvement Program. As
an option, select Tell me more about the program, and select Next.

12. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. If you want Windows Update to check for updates, select
Initiate machine wide Automatic update. Select Next.

13. On the Installation summary page, select Install.

14. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Back up the encryption Key.

Install the Service Manager data warehouse


(two-computer scenario)
As the second step in the two-computer installation process for System Center - Service
Manager, deploy the data warehouse management server and the data warehouse
databases on the second computer. During Setup, you'll be prompted to provide
credentials for the following accounts:

Management group administrator


Service Manager services account
Reporting account

For more information about the permissions that these accounts require, see Accounts
Required During Setup. Before you start, ensure that Microsoft SQL Server Reporting
Services (SSRS) is installed in the default instance of Microsoft SQL Server.

To install a data warehouse management server and data


warehouse databases
1. Sign in to the computer by using an account that has administrative rights.

2. On the Service Manager installation media, double-click the Setup.exe file.

3. On the Service Manager Setup Wizard page, select Service Manager data
warehouse management server.

4. On the Product registration page, enter information in the boxes. In the Product
key boxes, enter the product key that you received with Service Manager, or as an
alternative, select Install as an evaluation edition (180 day trial. Read the Microsoft
Software License Terms, and, if applicable, select I have read, understood, and
agree with the terms of the license agreement, and select Next.
5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which the
Service Manager data warehouse management server will be installed.

6. On the System check results page, ensure that prerequisites passed or at least
passed with warnings, and select Next.

7. On the Configure data warehouse databases page, Service Manager checks the
computer you're using to see if it can host the data warehouse databases. For this
configuration, confirm that the database server is the computer on which you're
installing the data warehouse management server, and select Next.

) Important

A warning message appears if you are using the default collation


(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you've to re-
install SQL Server. See Planning Guide for System Center - Service Manager.

8. On the Configure additional data warehouse datamarts page, Service Manager


checks the current computer to see if an instance of SQL Server exists. By default, if
an instance is found, Service Manager creates a new database in the existing
instance. If an instance appears, select Next.

9. On the Configure the data warehouse management group page, complete these
steps:

a. In the Management group name box, enter a unique name for the group.

) Important

Management group names must be unique. Don't use the same


management group name when you deploy a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager.

b. Select Browse, enter the user account or group to which you want to give
Service Manager administrative rights, and select Next.
10. On the Configure the reporting server for the data warehouse page, Service
Manager will use the existing computer if SQL Server Reporting Services is present.
Accept the defaults, and select Next.

7 Note

Manually configure the SQL Server Reporting Services even when SSRS
and data warehouse management server MS are on the same machine.
For detailed information, see Manual steps to configure remote SQL
Server Reporting Services.
The URL that you are presented with might not be in the form of a fully
qualified domain name (FQDN). If the URL as presented can't be
resolved in your environment, configure SQL Server Reporting URLs so
that the FQDN is listed in the Web service URL field. For more
information, see How to: Configure a URL (Reporting Services
Configuration).

11. On the Configure the account for Service Manager services page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.

12. On the Configure the reporting account page, specify the user name, password,
and domain for the account, and select Test Credentials. After you receive a The
credentials were accepted message, select Next.

13. On the Configure Analysis Service for OLAP cubes page, select Next.

14. On the Configure Analysis Services credential page, select a domain account;
select Domain account specify the user name, password, and domain for the
account; and select Test Credentials. After you receive a The credentials were
accepted message, select Next.

7 Note

The account that you specify here must have administrator rights on the
computer hosting SSRS.

15. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

16. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. If you want Windows Update to check for updates, select
Initiate machine wide Automatic update. Select Next.

17. On the Installation summary page, select Install.

18. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Completing Deployment by
Backing Up the Encryption Key.

After the installation, do the following:

19. Disable all the Data Warehouse jobs. To do this, open the Service Manager shell,
and then run the following commands:

$DW ='DWMS Servername'

Get-scdwjob -Computername $DW | %{disable-scdwjobschedule -Computername


$DW -jobname $_.Name}

20. Make the required changes in the following PowerShell script based on the data
source views in your environment, and then run the script by using elevated
privileges:

$SSAS_ServerName = "ssas servername" # - to be replaced with Analysis


Service instance Name

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices")
$Server = New-Object Microsoft.AnalysisServices.Server
$Server.Connect($SSAS_ServerName)
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]

#update DWDatamart dsv. Comment the below 3 commands if DWdatamart dsv


is not present

$DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["OperatingsystemDim
"].Columns["PhysicalMemory"].DataType = [decimal]
$DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["LogicalDiskDim"].C
olumns["Size"].DataType = [decimal]

$DWASDB.DataSourceViews["DwDataMart"].Update([Microsoft.AnalysisService
s.UpdateOptions]::ExpandFull)

#update CMDatamart dsv.Comment the below 2 commands if cmdatamart dsv


is not present

$DWASDB.DataSourceViews["CMDataMart"].Schema.Tables["OperatingsystemDim
"].Columns["PhysicalMemory"].DataType = [decimal]

$DWASDB.DataSourceViews["CMDataMart"].Update([Microsoft.AnalysisService
s.UpdateOptions]::ExpandFull)

#update OperatingsystemDim
$DWASDB.Dimensions["OperatingsystemDim"].Attributes["PhysicalMemory"].K
eyColumns[0].DataType = [System.Data.OleDb.OleDbType]::Double

$DWASDB.Dimensions["OperatingsystemDim"].Update([Microsoft.AnalysisServ
ices.UpdateOptions]::ExpandFull +
[Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)
#update LogicalDiskDim

$DWASDB.Dimensions["LogicalDiskDim"].Attributes["Size"].KeyColumns[0].D
ataType = [System.Data.OleDb.OleDbType]::Double

$DWASDB.Dimensions["LogicalDiskDim"].Update([Microsoft.AnalysisServices
.UpdateOptions]::ExpandFull +
[Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)

21. Enable the job schedules by running the following commands:

$DW ='DWMS Servername'

Get-scdwjob -Computername $DW | %{enable-scdwjobschedule -Computername


$DW -jobname $_.Name}

22. Restart the Data Warehouse management server.

Next steps
To install Service Manager on four computers, review Install Service Manager on
four computers. This scenario is useful in a production environment, and it
maximizes performance and scalability.
Installing Service Manager on four
computers
Article • 03/16/2023

When you're ready to move System Center - Service Manager into a production
environment, or if you want to maximize performance and scalability, you can consider
an installation topology in which each part of the Service Manager installation resides
on its own computer. This topology requires the use of four computers, as shown in
figure 3.

Figure 3: Four-computer topology

In this deployment scenario, you install Microsoft SQL Server only on the computers that
hosts databases (computers 2 and 4). You install SQL Server Reporting Services (SSRS)
and SQL Server Analysis Services (SSAS) on the computer that hosts the data warehouse
databases (computer 4).

) Important

For this release, Service Manager doesn't support case-sensitive instance names.
Setup will display a warning if you attempt to install Service Manager on a case-
sensitive instance of Microsoft SQL Server.

Install the Service Manager management


server (four-computer scenario)
The following procedure describes how to install the System Center - Service Manager
management server, the Service Manager database, the data warehouse management
server, data warehouse databases, and the Service Manager console in a four-computer
topology. You start the deployment process by installing the Service Manager
management server and the Service Manager console on one computer and the Service
Manager database on a second computer. Before you start, ensure that Microsoft
SQL Server 2016 is installed on the computer that will host the Service Manager
database.

During Setup, you'll be prompted to provide credentials for the following accounts:

Management group administrator

Service Manager services account

Service Manager workflow account

For more information about the permissions that these accounts require, see Accounts
Required During Setup.

To install the Service Manager management server,


Service Manager database, and console
1. Sign in to the computer that will host the Service Manager management server by
using an account that has administrative rights.

2. On the System Center Service Manager installation media, double-click the


Setup.exe file.

3. On the Service Manager Setup Wizard page, select Service Manager


management server.

4. On the Product registration page, in the Product key boxes, enter the product key
that you received with Service Manager, or as an alternative, select Install as an
evaluation edition (180 day trial). Read the Microsoft Software License Terms, and,
if applicable, select I have read, understood, and agree with the terms of the
license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available.
If necessary, select Browse to change the location of where the Service Manager
management server will be installed. Select Next.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings.

If the prerequisite checker determines that the Microsoft Report Viewer


Redistributable hasn't been installed, select Install Microsoft Report Viewer
Redistributable. After the Microsoft Report Viewer Redistributable 2008
(KB971119) Setup Wizard completes, select Check prerequisites again. Select
Next.

7. On the Configure the Service Manager database page, in the Database server
field, enter the name of the computer that will host the Service Manager database,
and press the TAB key. Ensure that SQL Server instance box is set to the desired
SQL Server instance and that Create a new database is selected, and select Next.
For example, enter Computer 2 in the Database server box.

) Important

A warning message appears if you're using the default collation


(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you've to
reinstall SQL Server. See Planning Guide for System Center - Service
Manager.

8. On the Configure the Service Manager management group page, complete these
steps:

a. In the Management group name box, enter a unique name for the group name.

) Important

Management group names must be unique. Don't use the same


management group name even when you're deploying a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager.

b. In the Management group administrators areas, select Browse, enter the user
or group that you want to be the Service Manager administrator, and select
Next. For example, select the group Woodgrove\SM_Admins.

9. On the Configure the account for Service Manager services page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.
10. On the Configure the Service Manager workflow account page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.

11. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

12. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. If you want Windows Update to check for updates, select
Initiate machine wide Automatic update. Select Next.

13. On the Installation summary page, select Install.

14. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Completing Deployment by
Backing Up the Encryption Key.

Install the Service Manager data warehouse


(four-computer scenario)
To start deployment of the System Center - Service Manager data warehouse and data
warehouse databases, install the data warehouse management server on one computer
(for example, computer 3), and all of the data warehouse databases on another
computer (for example, computer 4).

During Setup, you'll be prompted to provide credentials for the following accounts:

Management group administrator

Service Manager services account

Reporting account

Analysis Services account

For more information about the permissions that these accounts require, see Accounts
Required During Setup.

The data warehouse databases include the following three databases:


DWStagingAndConfig, DWRepository, and DWDataMart. The first two databases,
DWStagingAndConfig and DWRepository, must reside on the same instance of
Microsoft SQL Server. The DWDataMart database can reside on a separate instance of
SQL Server. The optional OMDWDataMart and CMDWDataMart databases can reside
together or separately on their own instances of Microsoft SQL Server.

To install a data warehouse management server


1. Because, in this scenario, the computer that hosts SQL Server Reporting Services
(SSRS) isn't the same computer that hosts the data warehouse management server,
you've to prepare the computer that will remotely host SSRS for Service Manager.
See Manual Steps to Configure the Remote SQL Server Reporting Services before
continuing with this procedure.

2. Sign in to the computer that will host the data warehouse management server by
using an account that has administrator rights. For example, run Setup on
Computer 3.

3. On the System Center Service Manager installation media, double-click the


Setup.exe file.

4. On the Service Manager Setup Wizard page, select Service Manager data
warehouse management server.

5. On the Product registration page, in the Product key boxes, enter the product key
that you received with Service Manager, or as an alternative, select Install as an
evaluation edition (180 day trial). Read the Microsoft Software License Terms, and,
if applicable, select I have read, understood, and agree with the terms of the
license agreement, and select Next.

6. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location where the
Service Manager management server will be installed.

7. On the System check results page, verify that prerequisites passed or at least
passed with warnings, and select Next.

8. On the Configure data warehouse databases page, in the Database server box,
enter the computer name of the physical computer that will host the data
warehouse databases, the SQL server port, and Database name for all three data
warehouse databases, and select Next.

) Important
A warning message appears if you're using the default collation
(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you've to
reinstall SQL Server. See Planning Guide for System Center - Service
Manager.

9. In the list of the three databases, select Data Mart. In the Database server box,
enter the computer name of the server that will host the Data Mart database. For
example, enter Computer 4, and then press the TAB key. When Default appears in
the SQL Server instance box, select Next.

10. On the Configure additional data warehouse datamarts page, complete these
steps:

a. Select OM Data mart. In the Database server box, enter the computer name of
the computer that will host the Operations Manager data mart database. For
example, enter Computer 4, and then press the TAB key.

b. Select CM Data mart. In the Database server box, enter the computer name of
the computer that will host the CM data mart database. For example, enter
Computer 4, and then press the TAB key.

c. Select Next.

11. On the Configure the data warehouse management group page, complete these
steps:

a. In the Management group name box, enter a unique name for the group name.

U Caution

Management group names must be unique. Don't use the same


management group name even when deploying a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager. All data warehouse management group names
have the prefix DW_.

b. Select Browse, enter the user or group that you want to be the Service Manager
administrator, and select Next.
7 Note

The group Domain\Administrators isn't allowed as a management group


administrator.

12. On the Configure the reporting server for the data warehouse page, follow these
steps:

a. In the Report server box, enter the name of the computer that will host the
reporting server. In this example, this will be the computer that hosts the data
warehouse database, enter Computer 4, and then press the TAB key.

7 Note

Manually configure the SQL Server Reporting Services even when


SSRS and data warehouse management server MS are on the same
machine. For detailed information, see Manual steps to configure
remote SQL Server Reporting Services.
The URL that you are presented with might not be in the form of a
fully qualified domain name (FQDN). If the URL as presented can't be
resolved in your environment, you'll need to configure SQL Server
Reporting URLs so that the FQDN is listed in the Web service URL
field. For more information, see the TechNet article Configure a URL.

b. Verify that Default is displayed in the Report server instance box.

c. Because you followed the procedure Manual Steps to Configure the Remote
SQL Server Reporting Services, select the I have taken the manual steps to
configure the remote SQL Server Reporting Services as described in the
Service Manager Deployment Guide checkbox, and select Next.

13. On the Configure the account for Service Manager services page, select Domain
account, specify the user name, password, and domain for the account, and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.

For example, enter the account information for the domain user SM_Acct.

14. On the Configure the reporting account page, specify the user name, password,
and domain for the account, and select Test Credentials. After you receive a The
credentials were accepted message, select Next.

15. On the Configure Analysis Service for OLAP cubes page, in the Database server
box, enter the computer name of the server that will host the Analysis Services
database, and then press the TAB key. When Default appears in the SQL Server
instance box, select Next. For example, enter Computer 4 in the Database server
box.

2 Warning

If you're installing SQL Server Analysis Services on a computer other than the
computer hosting the data warehouse management server and there is a
firewall in your environment, you must ensure that the proper firewall ports
are opened. For more information, see Port Assignments for Service
Manager.

16. On the Configure Analysis Services credential page, select a domain account,
select Domain account, specify the user name, password, and domain for the
account, and select Test Credentials. After you receive a The credentials were
accepted message, select Next.

7 Note

The account you specify here must have administrator rights on the computer
hosting SQL Server Analysis Services.

17. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

18. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. Select Initiate machine wide Automatic update if you want
Windows Update to check for updates. Select Next.

19. On the Installation summary page, select Install.

20. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Completing Deployment by
Backing Up the Encryption Key.
After the installation, do the following:

21. Disable all the Data Warehouse jobs. To do this, open the Service Manager shell,
and then run the following commands:

$DW ='DWMS Servername'

Get-scdwjob -Computername $DW | %{disable-scdwjobschedule -Computername


$DW -jobname $_.Name}

22. Make the required changes in the following PowerShell script based on the data
source views in your environment, and then run the script by using elevated
privileges:

$SSAS_ServerName = "ssas servername" # - to be replaced with Analysis


Service instance Name

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices")
$Server = New-Object Microsoft.AnalysisServices.Server
$Server.Connect($SSAS_ServerName)
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]

#update DWDatamart dsv. Comment the below 3 commands if DWdatamart dsv


isn't present

$DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["OperatingsystemDim
"].Columns["PhysicalMemory"].DataType = [decimal]

$DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["LogicalDiskDim"].C
olumns["Size"].DataType = [decimal]

$DWASDB.DataSourceViews["DwDataMart"].Update([Microsoft.AnalysisService
s.UpdateOptions]::ExpandFull)

#update CMDatamart dsv.Comment the below 2 commands if cmdatamart dsv


isn't present

$DWASDB.DataSourceViews["CMDataMart"].Schema.Tables["OperatingsystemDim
"].Columns["PhysicalMemory"].DataType = [decimal]

$DWASDB.DataSourceViews["CMDataMart"].Update([Microsoft.AnalysisService
s.UpdateOptions]::ExpandFull)

#update OperatingsystemDim
$DWASDB.Dimensions["OperatingsystemDim"].Attributes["PhysicalMemory"].K
eyColumns[0].DataType = [System.Data.OleDb.OleDbType]::Double

$DWASDB.Dimensions["OperatingsystemDim"].Update([Microsoft.AnalysisServ
ices.UpdateOptions]::ExpandFull +
[Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)
#update LogicalDiskDim

$DWASDB.Dimensions["LogicalDiskDim"].Attributes["Size"].KeyColumns[0].D
ataType = [System.Data.OleDb.OleDbType]::Double

$DWASDB.Dimensions["LogicalDiskDim"].Update([Microsoft.AnalysisServices
.UpdateOptions]::ExpandFull +
[Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)

23. Enable the job schedules by running the following commands:

$DW ='DWMS Servername'

Get-scdwjob -Computername $DW | %{enable-scdwjobschedule -Computername


$DW -jobname $_.Name}

24. Restart the Data Warehouse management server.

Validate the four-computer installation


The procedures in this article describe how to validate the four-computer installation of
System Center - Service Manager.

Step 1: validate the installation of the management server


and database

To validate a Service Manager management server installation

1. On the computer hosting the Service Manager management server, verify that a
Program Files\Microsoft System Center\Service Manager folder exists.

2. Run services.msc, and then verify that the following services are installed, that they
have the status of Started, and that the startup type is Automatic:

System Center Data Access Service


Microsoft Monitoring Agent
System Center Management Configuration
To validate the Service Manager console installation
1. On the first computer, select Start, select All Programs, select Microsoft System
Center, and select Service Manager Console.

2. The first time that you run the Service Manager console, the Connect to Service
Manager Server dialog appears. In the Server name box, enter the computer
name of the server that is hosting the Service Manager management server.

3. The Service Manager console successfully connects to the Service Manager


management server.

To validate the Service Manager database


1. On the computer hosting the Service Manager database, select Start, select All
Programs, select Microsoft SQL Server 2016, and select SQL Server Management
Studio.

2. In the Connect to Server dialog, select the following:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server name for your Service Manager
database. For example, select Computer 2.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases.

4. Verify that the ServiceManager database is listed.

5. Exit Microsoft SQL Server Management Studio.

Step 2: validate the installation of the data warehouse


management server and database

To validate a data warehouse management server installation

On the computer hosting the data warehouse management server (the server you
ran Setup on), run services.msc, and verify that the following services have been
installed:
System Center Data Access Service
Microsoft Monitoring Agent
System Center Management Configuration

To validate data warehouse databases


1. On the computer hosting the data warehouse management databases, select Start,
select All Programs, select Microsoft SQL Server 2016, and select SQL Server
Management Studio.

2. In the Connect to Server dialog, select the following:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server and instance for your Service Manager
data warehouse database. For example, select Computer 4.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases.

4. Verify that the DWStagingAndConfig and DWRepository databases are listed.

5. On the computer hosting SQL Server Reporting Services (SSRS), select Start, select
All Programs, select Microsoft SQL Server 2016, and select SQL Server
Management Studio.

6. In the Connect to Server dialog, select the following:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server and instance for your Service Manager
data warehouse database. For example, select Computer 4.

c. In the Authentication list, select Windows Authentication, and select Connect.

7. In the Object Explorer pane, expand Databases.

8. Verify that the DWDataMart database is listed.

9. In the Object Explorer pane, select Connect, and select Analysis Services.

10. In the Server Name list, enter the computer name for the computer hosting the
Service Manager data warehouse database. In this example, enter localhost.

11. In the Object Explorer pane, expand the new entry for Analysis Services, and then
expand Databases.

12. Verify that the DWASDataBase database is listed.


13. Exit Microsoft SQL Server Management Studio.

Next steps
To manually configure SSRS in situations where SSRS isn't on the same server as
the data warehouse management server, review Manual steps to configure remote
SQL Server Reporting Services.
Manual steps to configure SQL Server
Reporting Services
Article • 03/16/2023

During deployment of the Service Manager data warehouse management server, you can
specify the server to which Microsoft SQL Server Reporting Services (SSRS) will be
deployed. During setup, the computer that is hosting the data warehouse management
server is selected by default. If you specify a different computer to host SSRS, you're
prompted to follow this procedure to prepare the server. Preparing the remote computer
to host SSRS involves the following steps, which are covered in detail in this section:

Copy Microsoft.EnterpriseManagement.Reporting.Code.dll from the Service Manager


installation media to the computer that is hosting SSRS.

Add a code segment to the rssrvpolicy configuration file on the computer that is
hosting SSRS.

Add an Extension tag to the existing Data segment in the rsreportserver configuration
file on the same computer.

If you used the default instance of SQL Server, use Windows Explorer to drag
Microsoft.EnterpriseManagement.Reporting.Code.dll (which is located in the Prerequisites
folder on your Service Manager installation media) to the folder \Program Files\Microsoft
SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\Bin on the computer
that is hosting SSRS. If you didn't use the default instance of SQL Server, the path of the
required folder is \Program Files\Microsoft SQL Server\MSRS13.
<INSTANCE_NAME>\Reporting Services\ReportServer\Bin. In the following procedure, the
default instance name is used.

Copy the
Microsoft.EnterpriseManagement.Reporting.Code.dll
file
Use the following steps:

1. On the computer that will host the remote SSRS, open an instance of Windows
Explorer.

2. For SQL Server 2016, locate the folder \Program Files\Microsoft SQL
Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\Bin.
3. Start a second instance of Windows Explorer, locate the drive that contains the
Service Manager installation media, and then open the Prerequisites folder.

4. In the Prerequisites folder, select


Microsoft.EnterpriseManagement.Reporting.Code.dll, and drag it to the folder that
you located in either step 2.

Add a code segment to the rssrvpolicy.config file


Use the following steps:

1. On the computer that will be hosting SSRS, locate the file rssrvpolicy.config in the
\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting
Services\ReportServer folder for SQL server 2016.

2. Using an XML editor of your choice (such as Notepad), open the rssrvpolicy.config
file.

3. Scroll through the rssrvpolicy.config file and locate the <CodeGroup> code segments.
The following code shows an example of a <CodeGroup> segment.

XML

<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="$CodeGen$/*"
/>
</CodeGroup>

4. Add the following <CodeGroup> segment in its entirety in the same section as the
other <CodeGroup> segments.

XML

<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="Microsoft System Center Service Manager Reporting Code Assembly"
Description="Grants the SCSM Reporting Code assembly full trust
permission.">
<IMembershipCondition
class="StrongNameMembershipCondition"
version="1"

PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001
000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889
CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6F
C90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C6
4E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9"
/>
</CodeGroup>

5. Save the changes and close the XML editor.

Add an Extension tag to the Data segment in the


rsreportserver.conf file
Use the following steps:

1. On the computer hosting SSRS, locate the file rsreportserver.config in the \Program
Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer
folder for SQL server 2016.

2. Using an XML editor of your choice (such as Notepad), open the rsreportserver.config
file.

3. Scroll through the rsreportserver.config file and locate the <Data> code segment.
There's only one <Data> code segment in this file.

4. Add the following Extension tag to the <Data> code segment where all the other
Extension tags are:

XML

<Extension Name="SCDWMultiMartDataProcessor"
Type="Microsoft.EnterpriseManagement.Reporting.MultiMartConnection,
Microsoft.EnterpriseManagement.Reporting.Code" />

5. Save the changes and close the XML editor.

Verify SSRS installation


In the Service Manager Data Warehouse (DW), the following known issue is observed:

If SQL Server Reporting Services (SSRS) is running locally on the Data Warehouse
Management Server, and SSRS is 2017 or later, the Data Warehouse Setup completes
successfully, but might not configure the specified local SSRS instance properly.
Use the below script to verify if the LOCAL SSRS installation is configured correctly and can
be used with the Service Manager Data Warehouse.

7 Note

This PowerShell script can be executed after a Service Manager Data Warehouse
installation. The script won't make any changes to the configuration but verifies it. You
can run the script as many times as required.

PowerShell

#region function definitions

function SelfElevate() {
#got from http://www.expta.com/2017/03/how-to-self-elevate-powershell-
script.html and changed a bit
if (-Not ([Security.Principal.WindowsPrincipal]
[Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Princip
al.WindowsBuiltInRole] 'Administrator')) {
if ([int](Get-WmiObject -Class Win32_OperatingSystem | Select-Object -
ExpandProperty BuildNumber) -ge 6000) {
$CommandLine = "-File `"" + $Script:MyInvocation.MyCommand.Path + "`" "
+ $Script:MyInvocation.UnboundArguments
Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList
$CommandLine
Exit
}
}
}
function EndScriptExecution() {
Write-Host ""
Read-Host "Press ENTER to stop execution"
Exit
}
#endregion
#region Init
SelfElevate
#endregion

#region Select SSRS service


$ssrsServicesAvailable = gwmi win32_service | ?{ $_.DisplayName -like 'SQL
Server Reporting Services*' }
if ($ssrsServicesAvailable -eq $null) {
Write-Host "No SSRS service(s) detected on this machine. " -NoNewline
Write-Host "Aborting ..." -ForegroundColor Yellow
EndScriptExecution
}

if ( ($ssrsServicesAvailable | Measure-Object).Count -eq 1) {


$ssrsServiceToVerify = ($ssrsServicesAvailable | Select-Object -Property
DisplayName, State, PathName) | Select-Object -First 1
}
else {
$ssrsServiceToVerify = $ssrsServicesAvailable | Select-Object -Property
DisplayName, State, PathName | Out-GridView -Title 'Select the SSRS service
to verify and then click OK...' -OutputMode Single
if ($ssrsServiceToVerify -eq $null) {
Write-Host "No SSRS service selected to verify. " -NoNewline
Write-Host "Aborting ..." -ForegroundColor Yellow
EndScriptExecution
}
}
#endregion

#region Preparation
Write-Host "------------------------------------------------------------------
--"
Write-Host "Verifiying selected SSRS service : " -NoNewline
Write-Host "'$($ssrsServiceToVerify.DisplayName)'" -ForegroundColor Cyan
Write-Host "------------------------------------------------------------------
--"
Write-Host ""

$ssrsExePath = $ssrsServiceToVerify.PathName.Replace('"','')
$ssrsExeFileVersion =
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($ssrsExePath)
$ssrsMajorVersion = $ssrsExeFileVersion.ProductMajorPart
$ssrsVersionDisplayName = switch ($ssrsMajorVersion)
{
11 {"2012"}
12 {"2014"}
13 {"2016"}
14 {"2017"}
15 {"2019"}
default {""}
}
if ($ssrsVersionDisplayName -eq "") {
Write-Host "Unknown SSRS Version detected. " -NoNewline
Write-Host "Aborting ..." -ForegroundColor Yellow
EndScriptExecution
}

[System.IO.DirectoryInfo]$ssrsReportServerFolder = (Get-Item -Path


$ssrsExePath).Directory.Parent
if ($ssrsMajorVersion -ge 14) {
$ssrsReportServerFolder = Join-Path $ssrsReportServerFolder.FullName
"ReportServer"
}
[string]$ssrsReportServerFolder = $ssrsReportServerFolder.FullName
[string]$ssrsReportServerBinFolder = Join-Path $ssrsReportServerFolder "bin"
#endregion

#region Checking DLL


$scsmDllFileExists = $false
$scsmDllFileName = "Microsoft.EnterpriseManagement.Reporting.Code.dll"
$scsmDllFilePath = Join-Path $ssrsReportServerBinFolder $scsmDllFileName
$scsmDllFileExists = (Test-Path -Path $scsmDllFilePath)
if (-not $scsmDllFileExists) {
Write-Host "ERROR: " -ForegroundColor Yellow -NoNewline
Write-Host "The file '$scsmDllFileName' does *NOT* exist in
'$ssrsReportServerBinFolder'"
}
else {
Write-Host " Pass: The file '$scsmDllFileName' does exist in
'$ssrsReportServerBinFolder'"
}
Write-Host ""
#endregion

#region Checking rssrvpolicy.config


$rssrvpolicy_configIsCorrect = $false
$rssrvpolicy_configFileName = "rssrvpolicy.config"
$rssrvpolicy_configFilePath = Join-Path $ssrsReportServerFolder
$rssrvpolicy_configFileName
$rssrvpolicy_configFileExists = (Test-Path -Path $rssrvpolicy_configFilePath)
if (-not $rssrvpolicy_configFileExists) {
Write-Host "$rssrvpolicy_configFileName does *NOT* exist in
$ssrsReportServerFolder" -ForegroundColor Yellow
}
if ($rssrvpolicy_configFileExists) {

[xml]$xml = Get-Content $rssrvpolicy_configFilePath

$tagNameToFind = "CodeGroup"
$attributeNameToFind = "Name"
$attributeValueToFind = "Microsoft System Center Service Manager Reporting
Code Assembly"
$nodeToFind = Select-Xml -XPath
"//$tagNameToFind[@$attributeNameToFind='$attributeValueToFind']" -Xml $xml

if ($nodeToFind -eq $null) {


Write-Host "ERROR: " -ForegroundColor Yellow -NoNewline
Write-Host "The file '$rssrvpolicy_configFileName' in
'$ssrsReportServerFolder' does *NOT* contain the correct <$tagNameToFind>
node."
}
else {

$CodeGroup_NodeToVerify = [System.Xml.XmlNode]$nodeToFind.Node
$IMembershipCondition_NodeToVerify =
[System.Xml.XmlNode]$CodeGroup_NodeToVerify.IMembershipCondition

$rssrvpolicy_configIsCorrect = ( $CodeGroup_NodeToVerify.class -eq


"UnionCodeGroup" `
-and $CodeGroup_NodeToVerify.version -eq "1" `
-and $CodeGroup_NodeToVerify.PermissionSetName -eq "FullTrust" `
-and $IMembershipCondition_NodeToVerify.class -eq
"StrongNameMembershipCondition" `
-and $IMembershipCondition_NodeToVerify.version -eq "1" `
-and $IMembershipCondition_NodeToVerify.PublicKeyBlob -eq
"0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F6
7871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0
BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C45430
7E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C
308055DA9"
)

if (-not $rssrvpolicy_configIsCorrect) {
Write-Host "ERROR: " -ForegroundColor Yellow -NoNewline
Write-Host "The <$tagNameToFind> node in
'$rssrvpolicy_configFileName' in '$ssrsReportServerFolder' does exists but its
content is *NOT* correct."
}
else {
Write-Host " Pass: The content of '$rssrvpolicy_configFileName'
in '$ssrsReportServerFolder' is correct."
}
}

}
Write-Host ""
#endregion

#region Checking rsreportserver.config


$rsreportserver_configIsCorrect = $false
$rsreportserver_configFileName = "rsreportserver.config"
$rsreportserver_configFilePath = Join-Path $ssrsReportServerFolder
$rsreportserver_configFileName
$rsreportserver_configFileExists = (Test-Path -Path
$rsreportserver_configFilePath)
if (-not $rsreportserver_configFileExists) {
Write-Host "$rsreportserver_configFileName does *NOT* exist in
$ssrsReportServerFolder" -ForegroundColor Yellow
}
if ($rsreportserver_configFileExists) {

[xml]$xml = Get-Content $rsreportserver_configFilePath

$tagNameToFind = "Extension"
$attributeNameToFind = "Name"
$attributeValueToFind = "SCDWMultiMartDataProcessor"
$nodeToFind = Select-Xml -XPath
"//$tagNameToFind[@$attributeNameToFind='$attributeValueToFind']" -Xml $xml

if ($nodeToFind -eq $null) {


Write-Host "ERROR: " -ForegroundColor Yellow -NoNewline
Write-Host "The file '$rsreportserver_configFileName' in
'$ssrsReportServerFolder' does *NOT* contain the correct <$tagNameToFind>
node."
}
else {

$Extension_NodeToVerify = [System.Xml.XmlNode]$nodeToFind.Node
$rsreportserver_configIsCorrect = (
$Extension_NodeToVerify.Type.Replace(" ","") -eq
"Microsoft.EnterpriseManagement.Reporting.MultiMartConnection,
Microsoft.EnterpriseManagement.Reporting.Code".Replace(" ","") )

if (-not $rsreportserver_configIsCorrect) {
Write-Host "ERROR: " -ForegroundColor Yellow -NoNewline
Write-Host "The <$tagNameToFind> node in
'$rsreportserver_configFileName' in '$ssrsReportServerFolder' does exists but
its content is *NOT* correct."
}
else {
Write-Host " Pass: The content of '$rsreportserver_configFileName'
in '$ssrsReportServerFolder' is correct."
}
}

}
Write-Host ""
#endregion

#region Conclusion
""
Write-Host "Conclusion:" -ForegroundColor Cyan
Write-Host "==========="
if ($scsmDllFileExists -and $rsreportserver_configIsCorrect -and
$rssrvpolicy_configIsCorrect) {
Write-Host "The selected SSRS instance is configured correctly."
}
else {
Write-Host "The selected SSRS instance is " -NoNewline
Write-Host "*NOT* configured correctly." -ForegroundColor Yellow
Write-Host "Please follow the steps at " -NoNewline
Write-Host "https://learn.microsoft.com/system-center/scsm/config-remote-
ssrs" -ForegroundColor Yellow
}
EndScriptExecution
#endregion

Next steps
To use AlwaysOn availability groups with Service Manager to support a failover
environment, review Use SQL Server AlwaysOn availability groups to support failover.
Use SQL Server AlwaysOn availability
groups with Service Manager to support
failover
Article • 03/16/2023

The information in this article provides tasks that you need to perform in order for
Service Manager to work effectively when using availability groups. AlwaysOn supports
a failover environment. This information is supported only with SQL Server 2012 SP2 and
above.

However, this information isn't intended to provide detailed instructions on how to


configure a SQL Server AlwaysOn Availability Group. Additionally, Service Manager
doesn't support setting the MultiSubnetFailover parameter. This parameter isn't used in
Service Manager connection strings.

) Important

Service Manager doesn't support a topology where the reporting and analysis
server database is configured as part of the AlwaysOn Availability Group.

7 Note

After deploying Service Manager on the SQL server nodes participating in SQL
Always On, to enable CLR strict security, run the SQL script on each Service
Manager database.

SQL Server AlwaysOn supported Service


Manager databases
SQL Server AlwaysOn supports the following Service Manager databases:

Service Manager CMDB


Service Manager Data Warehouse (all the three databases)
OM and CM DataMart

New management group installation


Use the following tasks when you install a new management group with a SQL
AlwaysOn availability group.

Before installing Service Manager on an availability group


1. Ensure that you use the Group Listener Name and port when installing Service
Manager for the databases that are going to be added to the availability
databases.
2. The first management server will use the Group Listener to get the primary SQL
instance and will install the databases on that instance.

After installing the first management server


1. Ensure that the recovery model of the database is full. Open SQL Server
Management Studio and connect to the instance where the database(s) are
installed. Right-click the targeted database, and select its properties and then
select Options. If the recovery model isn't listed as Full , then select Full from the
dropdown list.
2. Create a full backup of the databases.
3. Use SQL Server Management Studio to add the databases to the availability
databases. When adding the databases to the availability databases under Select
Data Synchronization, three choices are possible: Full , Join only and Skip initial
data synchronization. Choose the option that is most appropriate for you. We
recommend selecting Full and allowing the Add Database wizard to create a full
backup and restore of the databases on the secondary replicas. More steps might
or might not be needed depending on which choice you made. For more
information, see Manually Prepare a Secondary Database for an Availability Group
(SQL Server).

Use an existing management group


Use the following series of tasks when using an existing management group with a SQL
Server AlwaysOn availability group.

1. Prepare SQL Server AlwaysOn setup separately. You might also consider SQL
Server AlwaysOn with an FCI.
2. Create an availability group listener(AGL) and choose an appropriate port number.
Avoid the default port 1433. For example: AGL name = SMListener and AGL Port =
5122
3. Open the inbound port for the SQL Server instance and AGL on each computer
running SQL Server.
4. Review the information at Move the Service Manager and data warehouse
databases and follow the steps there, with the following changes:
a. In step 5, To Configure Service Manager tables, use the AGL Name,AGL Port
number instead of the computer name hosting the Service Manager database,

for example: SMListener,5122


b. In Step 6, use the AGL Name,AGL Port number to update both DWStaging and
Config database tables.
c. In Step 7, Configure the registry on all the management servers, change the
registry key HKEY\_LOCAL\_MACHINE\Software\Microsoft\System
Center2010\Common\Database and give DatabaseServerName as AGL Name,AGL Port
number .

To summarize, you're changing the computer name hosting the Service Manager
database to AGL Name,AGL Port number for SQL Server AlwaysOn support.

Next steps
To create a system image that contains the software needed for use as a template
so that you can apply it to new servers, review Create and deploy server images of
Service Manager.
Create and deploy server images of
Service Manager
Article • 03/16/2023

You can use the information in this article to create a system image that contains
Windows server, SQL Server, and Service Manager for use as a template that you can
apply to new servers. Follow the basic steps below to prepare the image. You can modify
them, as needed, for your environment. For more information about the Windows
System Preparation Tool, see What is Sysprep?.

7 Note

Details about installing SQL Server using a configuration file aren't covered in this
article. For more information about using a configuration file to install SQL Server,
see Install SQL Server Using a Configuration File.

Afterward, modify and save the sample CMD file below to create your own customized
version and then run the file.

Prepare the server for imaging


1. Install Windows Server on the new server.

2. Install SQL Server in Prepare for imaging mode. This installs the binary files, but
doesn't configure SQL server.

7 Note

SQL server is unusable at this point.

3. Copy the SQL Server installation files to a temporary location on the server. For
example, c:\Runonce\ SQLFULL_ENU.

4. Copy the System Center <version> Service Manager installation files to a


temporary location on the server. For example, c:\Runonce\SCSM.

5. Save the example CMD file shown below and customize it for your environment,
where necessary. This file will run SQL Server setup to complete the SQL Server
installation and then run an unattended installation of Service Manager. Save this
file to a temporary location such as C:\Runonce\FirstRun.cmd.

6. Run the System Preparation Tool (Sysprep) with the /generalize command to
generalize the server.

7. Capture the Windows installation with ImageX by creating a reference image with
which to install servers with the same hardware configuration.

8. Create a Windows Unattend.xml file to customize Windows when the image is


booted and have it run FirstRun.cmd.

Create a CMD file that completes image installation


Copy the following sample and modify it, as needed.

@echo off

set ServiceAccountDomain=contoso
set ServiceAccountName=Administrator
set ServiceAccountPassword=P@$$word

echo Finalizing SQL installation...


start /wait c:\RunOnce\SQLFULL_ENU\setup.exe
/ConfigurationFile=c:\RunOnce\SQL2012Complete.ini

echo Installing additional SQL features...


start /wait c:\RunOnce\SQLFULL_ENU\setup.exe
/ConfigurationFile=c:\RunOnce\SQL2012Shared.ini

echo Installing System Center Service Manager...


start /wait C:\RunOnce\SCSM\setup.exe /Install:Server /AcceptEula
/RegisteredOwner:SCSM /RegisteredOrganization:Microsoft
/CreateNewDatabase /SqlServerInstance:%computername%
/ManagementGroupName:%computername%
/AdminRoleGroup:%ServiceAccountDomain%\%ServiceAccountName%
/ServiceRunUnderAccount:%ServiceAccountDomain%\%ServiceAccountName%\%Se
rviceAccountPassword%
/WorkflowAccount:%ServiceAccountDomain%\%ServiceAccountName%\%ServiceAc
countPassword% /CustomerExperienceImprovementProgram:Yes
/EnableErrorReporting:Yes /silent

Next steps
For information that you should consider when you install Service Manager in a
Hyper-V virtual environment, review Guidance for installing Service Manager on
virtual machines.
Install Service Manager on virtual
machines
Article • 08/22/2023

This article provides guidance that you should consider when you install System Center -
Service Manager in a Hyper-V virtual environment. If you're installing Microsoft
SQL Server into an environment without Hyper-V, consult your vendor's documentation
for guidance regarding the use of SQL Server.

Deploy SQL Server in a virtual environment


Before you deploy SQL Server in a Hyper-V environment, see Running SQL Server 2008
in a Hyper-V Environment . Keep the following in mind when you prepare a virtual
environment for SQL Server:

Using a dynamic virtual hard drive (VHD) can decrease performance. We don't
recommend using a VHD.

Allocate at least two virtual CPUs for the instance of SQL Server.

Don't allocate more virtual CPUs than the number of available logical CPUs.

If you observe a drop in Service Manager performance in a virtual environment,


check CPU and memory utilization on the virtual machines that are hosting the
instance of SQL Server and the Service Manager management server. If CPU
utilization is near 100 percent, either allocate additional virtual CPUs or reduce the
number of concurrent Service Manager console sessions.

Verify memory requirements


The amount of memory you've in your logical computer and the amount of memory you
allocate to each virtual machine are critical. If you deploy an instance of SQL Server,
Service Manager management server, and Service Manager console to the same virtual
machine, the memory requirements are cumulative. You need enough memory to meet
the requirements of each part of Service Manager. In this environment, 8 gigabytes (GB)
of memory is the minimum recommended amount.

Deploy the databases in a virtual environment


If you're installing Service Manager and data warehouse databases on virtual machines,
we recommend that you use one virtual machine for the Service Manager database and
another virtual machine for the data warehouse databases. Furthermore, each virtual
machine should be configured for two CPUs.

Next steps
To set execution policy to RemoteSigned and import the data warehouse cmdlet
module, review Configure PowerShell to run in Service Manager.
Configure Windows PowerShell to run in
Service Manager
Article • 03/16/2023

Before you can run commands in the Windows PowerShell command-line interface in
System Center - Service Manager, you must set execution policy to RemoteSigned and
import the data warehouse cmdlet module.

The Service Manager cmdlets are implemented in the following two modules:

System.Center.Service.Manager. This module is imported automatically every time


a Service Manager Windows PowerShell session is opened.

Microsoft.EnterpriseManagement.Warehouse.Cmdlets. This module must be


imported manually.

Cmdlets in Authoring Tool workflows


When you use the Service Manager Authoring tool to create a workflow, then custom
scripts using Windows PowerShell cmdlets called by the workflow fail. This is due to a
problem in the Service Manager MonitoringHost.exe.config file.

To work around this problem, update the MonitoringHost.exe.config XML file using the
following steps.

1. Navigate to %ProgramFiles%\Microsoft System Center\Service Manager or the


location where you installed Service Manager.

2. Edit the MonitoringHost.exe.config file and add the section in italic type from the
example below in the corresponding section of your file. You must insert the
section before <publisherPolicy apply="yes" /> .

3. Save your changes to the file.

4. Restart the System Center Management service on the Service Manager


management server.

XML

<?xml version="1.0"?>
<configuration>
<configSections>
<section name="uri" type="System.Configuration.UriSection, System,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<uri>
<iriParsing enabled="true" />
</uri>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Mom.Modules.DataTypes"
publicKeyToken="31bf3856ad364e35" />
<publisherPolicy apply="no" />
<bindingRedirect oldVersion="6.0.4900.0"
newVersion="7.0.5000.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity
name="Microsoft.EnterpriseManagement.HealthService.Modules.WorkflowFoundatio
n" publicKeyToken="31bf3856ad364e35" />
<publisherPolicy apply="no" />
<bindingRedirect oldVersion="6.0.4900.0"
newVersion="7.0.5000.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity
name="Microsoft.EnterpriseManagement.Modules.PowerShell"
publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="6.0.4900.0"
newVersion="7.0.5000.0" />
</dependentAssembly>
<publisherPolicy apply="yes" />
<probing privatePath="" />
</assemblyBinding>
<gcConcurrent enabled="true" />
</runtime>
</configuration>

Execution policy
Use the following procedure to set execution policy to RemoteSigned in Service
Manager. This is necessary to enable the importation of the Service Manager cmdlet
modules, automatically or manually.

You have to run this command only once on the computer where you intend to use
Windows PowerShell cmdlets for Service Manager.

To set execution policy


1. On the computer where you want to run Windows PowerShell, select Start, select
All Programs, select Microsoft System Center <version>, select Service Manager,
and select Service Manager Shell.

2. At the Windows PowerShell prompt, enter the following command, and then press
ENTER:

PowerShell

Set-ExecutionPolicy –Force RemoteSigned

3. Enter exit, and then press ENTER to close the Administrator: Windows PowerShell
window.

Import the data warehouse cmdlet module


To be able to use the data warehouse cmdlets in Service Manager, you must first
manually import the Windows PowerShell data warehouse cmdlets module for Service
Manager. You can import the data warehouse cmdlets module on the Service Manager
management server, the data warehouse management server, or both.

To import the data warehouse cmdlets module


1. On a management server, open a Service Manager Windows PowerShell session.
Or on a data warehouse management server, open a Windows PowerShell session.
Ensure that the Windows PowerShell prompt is at the Service Manager installation
folder.

2. At the Windows PowerShell command prompt, enter the following command, and
then press ENTER:

PowerShell

Import-Module ".Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1"

3. Enter exit, and then press ENTER to close the Administrator: Windows PowerShell
window.

Next steps
To run the Data Warehouse Registration Wizard to register the Service Manager
management group with the Service Manager data warehouse management
server, review Register with the data warehouse to enable reporting. Registering
with the data warehouse makes it possible for you to run reports.
Register with the Service Manager data
warehouse to enable reporting
Article • 03/16/2023

After you 've deployed the Service Manager management servers and data warehouse
management servers, for reporting to function you must run the Data Warehouse
Registration Wizard. This wizard registers the Service Manager management group with
the data warehouse management group. It also deploys management packs from the
Service Manager management server to the data warehouse management server.

The management pack deployment process can take several hours to complete. It's a
best practice not to turn off any Service Manager computers or stop any Service
Manager services during this time. During this registration process, you can continue to
use the Service Manager console to perform any Service Manager functions that you
want.

To ensure that reporting data will be available, use the procedures in the following
sections to register the data warehouse and deploy the management packs.

Run the Data Warehouse Registration wizard


You can use the following steps in System Center - Service Manager to use the Data
Warehouse Registration Wizard to register with the Service Manager data warehouse.

To run the Data Warehouse Registration wizard


1. By using an account that is a member of the Service Manager and data warehouse
management administrators group, sign in to the computer that hosts the Service
Manager console.

2. In the Service Manager console, select Administration.

3. In the Administration pane, expand Administration.

4. In the Administration view, in the Register with Service Manager's Data


Warehouse area, select Register with Service Manager Data Warehouse.

5. In the Data Warehouse Registration wizard, on the Before You Begin page, select
Next.
6. On the Data Warehouse page, in the Server name box, enter the fully qualified
domain name (FQDN) of the computer hosting the data warehouse management
server, and select Test Connection. If the test is successful, select Next.

7. On the Credentials page, you can accept the default entry in the Run as account
list, and select Next, or you can enter credentials from a user or group of your own
choosing.

) Important

The account that you specify will be assigned administrative credentials on


the Service Manager management server, and it will be granted Read
permission on the Service Manager database. You can specify different
credentials from other Service Manager management groups when you're
registering with the data warehouse.

8. On the Summary page, select Create.

9. On the Completion page, when The data warehouse registration succeeded


appears, select Close.

10. A dialog states that the report deployment process isn't finished. This is to be
expected. On the System Center Service Manager dialog, select OK.

11. In a few minutes, after you close the Data Warehouse Registration Wizard, the
Data Warehouse button will be added to the Service Manager console. In the
Service Manager console, select the arrow at the lower right corner of the Service
Manager console buttons, and select Show More Buttons.

You can use a Windows PowerShell command to complete this task. For
information about how to use Windows PowerShell to register Service Manager
management groups with the data warehouse, see Add-SCDWMgmtGroup.

Determine when Data Warehouse registration


is complete
Several management packs are imported during the data warehouse registration
process in Service Manager. Data warehouse registration is complete when all of the
management packs have been imported. You'll have to determine when that process is
complete by using the following procedure.
To determine when management pack deployment has
completed
1. Start the Service Manager console.

2. In the Service Manager console, select Data Warehouse.

3. In the Data Warehouse pane, expand Data Warehouse, and select Data
Warehouse Jobs.

4. In the Data Warehouse Jobs pane, select MPSyncJob.

5. In the MPSyncJob details pane, in the Synchronization Job Details list, scroll to the
right to view the Status column, and select Status to alphabetically sort the status
column.

6. Scroll through the Status list. The management pack deployment process is
complete when the status for all of the management packs is Associated or
Imported. Ensure that there's no status of either Pending Association or Failed in
the status list. In the Data Warehouse Jobs pane, the status of the MPSyncJob will
have changed from Running to Not Started when the registration process is
complete. This deployment process can take up to two hours to complete.

7. Use the following steps to periodically refresh the Data Warehouse Job pane to
monitor the progress of the registration process:

a. In the Tasks pane, under Data Warehouse Jobs, select Refresh.

b. In the Data Warehouse Jobs pane, select MPSyncJob.

c. In the MPSyncJob details pane, in the Synchronization Job Details list, scroll to
the right to view the Status column, and then select Status to alphabetically sort
the status column.

8. After the management packs have been deployed (as determined in step 6),
ensure that the following five data warehouse jobs appear in the Data Warehouse
Jobs pane:

Extract_<Service Manager management group name>

Extract_<data warehouse management group name>

Load.Common

Transform.Common
MPSyncJob

7 Note

If these five data warehouse jobs don't appear, complete the following steps:

a. In the Data Warehouse Jobs pane, select MPSyncJob.


b. In the Tasks pane, under Synchronization, and select Resume.
c. Determine whether management pack deployment is complete by
repeating steps 4 through 6.

Next steps
To install additional Service Manager management servers to improve
performance, review Deploy additional Service Manager management servers.
Deploy additional Service Manager
management servers
Article • 04/19/2023

You can deploy additional Service Manager management servers to load-balance


additional Service Manager consoles or as part of your disaster recovery strategy.

This section describes how you can install additional Service Manager management
servers. The additional Service Manager management servers can improve performance
in a high-use environment.

Management servers
You create a management server when you select Service Manager management server
in the Service Manager Setup Wizard. The initial Service Manager management server
hosts data access, workflow services, and authorization services.

Initial and additional management servers


When you run Setup for the first time, you install the initial Service Manager
management server and define the management group for your installation. The initial
management server handles all of the workflows in your Service Manager environment.
Any additional Service Manager management servers that you deploy are used to load-
balance additional Service Manager console connections. With this release of Service
Manager, we recommend that you deploy an additional Service Manager management
server for every 40 to 50 Service Manager consoles that you intend to deploy.

To associate your additional Service Manager management servers with the initial
Service Manager management server and management group, you must specify the
Service Manager database that you used for your initial Service Manager management
server.

Disjointed namespace considerations


If you're installing an additional management server in an environment with a disjointed
namespace, see Deployment considerations with a disjointed namespace.

Install an additional management server


The following procedure shows how to install an additional management server in
System Center - Service Manager. You must deploy the initial Service Manager
management server and Service Manager database before deploying an additional
management server.

7 Note

You must be a member of the Service Manager Administrators user role to install
an additional Service Manager management server.

Follow these steps to install an additional management server:

1. By using an account that has administrator rights and that is also a member of the
Service Manager management group administrators, sign in to the computer that
will host the additional Service Manager management server.

2. On the System Center - Service Manager installation media, double-click the


Setup.exe file.

3. On the Service Manager Setup Wizard page, select Service Manager


management server.

4. On the Product registration page, enter the information in the boxes. In the
Product key boxes, enter the product key you received with Service Manager, or as
an alternative, select Install as an evaluation edition (180 day trial)?. Read the
Microsoft Software License Terms, and, if applicable, select I have read,
understood, and agree with the terms of the license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location where the
additional Service Manager management server will be installed.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.

If the prerequisite checker determines that the Microsoft Report Viewer


Redistributable hasn't been installed, select Install Microsoft Report Viewer
Redistributable. After the Microsoft Report Viewer Redistributable 2008
(KB971119) Setup Wizard completes, select Check perquisites again.

7. On the Configure the Service Manager database page, in the Database server
box, enter the name of the computer that hosts the Service Manager database that
you used for your initial Service Manager management server, and then press the
Tab key. When the name of the instance appears in the SQL Server instance box,
select Use an existing database. For example, enter Computer 2 in the Database
server box.

8. Select the Database list, select the database name for the Service Manager
database (the default name is ServiceManager), and select Next.

9. On the Configure the Service Manager management group page, verify that the
management group name and management group administrators boxes have
been populated. Select Next.

10. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

11. On the Help improve System Center Service Manager page, indicate your
preference for participation in the Customer Experience Improvement Program. As
an option, select Tell me more about the program, and select Next.

12. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates. If you want Windows Update to check for updates, select
Initiate machine wide Automatic update. Select Next.

13. On the Installation summary page, select Install.

14. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close. For more
information about backing up the encryption key, see Complete deployment by
backing up the encryption key.

Next steps
To perform additional steps when you deploy either an additional Service Manager
management server or Self-Service Portal in an environment with a disjointed
namespace, review Deployment considerations with a disjointed namespace.
Deployment considerations with a
disjointed namespace
Article • 04/26/2023

In System Center - Service Manager, Setup might fail when you deploy either an
additional Service Manager management server or an additional Self-Service Portal in an
environment where a disjointed namespace exists. This problem can occur if the Setup
program is unable to resolve the principal name of the computer that is hosting the
Service Manager management server. For more information, see the Microsoft TechNet
article Disjointed Namespace.

We recommend that you complete the following procedures before installing either an
additional Service Manager management server or an additional Self-Service Portal in an
environment where a disjoint namespace exists. The first procedure shows you how to
determine the principal name of your Service Manager management server. The second
procedure guides you in editing the hosts file on the computer that hosts either the
additional Service Manager management server or the additional Self-Service Portal.

Determine the principal name of the Service


Manager management server
1. Start a Service Manager console.

2. In the Service Manager console, select Configuration Items.

3. In the Configuration Items pane, expand Configuration Items, expand Computers,


and select All Windows Computers.

4. In the All Windows Computers pane, select the computer that hosts the Service
Manager management server.

5. In the Tasks pane, under the name of the computer, select Edit.

6. In the Computer - computer name window, observe that there's an Extensions tab
at the top of the form. The Extensions tab appears only when you view a Service
Manager management server.

7. In the General tab in the form, in the Computer Identity area, the Principal name
box shows the principal name that you'll use in the following procedure.

8. Select Close to close the form.


9. At a command prompt, ping the Service Manager management server. You must
have the IP address of the Service Manager management server for the following
procedure.

Edit the hosts file


1. On the computer that hosts either the additional Service Manager management
server or the additional Self-Service Portal, start Windows Explorer and then locate
the %Systemroot%\System32\Drivers\Etc folder.

2. Open the hosts file with Notepad by entering notepad hosts, and then press
ENTER.

3. At the end of the hosts file, add an entry starting with the IP address of the Service
Manager management server followed by its principal name.

4. Save and close the hosts file.

5. You can now start the setup procedure for either an additional Service Manager
management server or an additional Self-Service Portal.

Next steps
Review Learn about deploying the new Self Service portal and troubleshoot installation
issues.
Learn about deploying the new Self-
Service portal and troubleshoot
installation issues
Article • 04/19/2023

The new Self-Service Portal is an ASP.NET MVC Razor-based HTML5 Web app. During
installation, the Web app is configured to connect directly to the SDK Service running on
the Service Manager server browser. A basic, newly-configured Self-Service Portal setup
works as shown in the following diagram.

Data flows between different components in the following sequence.

1. Users enter the URL of the Web app in their browser to access the Self-Service
Portal.

2. ASP.NET creates a new instance for the user and tries to content to SDK Service,
provided during installation, in the user's context.

3. The SDK Service reads and writes data to the Service Manager database.

Prepare for deployment


Review the following section to help you prepare for deployment.

7 Note

It isn't recommended to install the Self-Service Portal on the same server as the
primary Management Server.

Hardware requirements

Service Manager servers Processor Processor RAM RAM Hard Hard


(min) (rec) (min) (rec) drive drive
space space
(min) (rec)
Service Manager servers Processor Processor RAM RAM Hard Hard
(min) (rec) (min) (rec) drive drive
space space
(min) (rec)

Self-Service Portal + Secondary 8-Core 8-Core 16 32 80 GB 80 GB


Service Manager 2.66 GHz 2.66 GHz GB GB
(Recommended*) CPU CPU

Self-Service Portal (Standalone) 4-Core 8-Core 8 GB 16 80 GB 80 GB


2.66 GHz 2.66 GHz GB
CPU CPU

*The requirements above provide access to 500 users in parallel within an acceptable
response time, which includes average read operations with less than 3 seconds and
write operations with less than 5 seconds, considering an 80:20 read-to-write ratio. For
larger deployments, see the Deploying a Web Farm section below.

Supported operating systems


Windows Server 2019

Windows Server 2016

Supported web browsers


The Self-Service portal needs a screen resolution above 1024 X 768. It's supported on
the following browsers:

Microsoft Edge

Microsoft Internet Explorer 10 and 11

Mozilla Firefox 42 and later

Google Chrome 46 and later

Deploy the new Self-Service portal


See the Deploy the New Self-Service Portal article for detailed steps about how to
deploy the new Self-Service Portal. The following sections summarize key deployment
considerations.

Install the Portal as the default website


If you want to install new Self-Service Portal on port 80, you must first move the default
website in IIS to a different port; for example, port 8080-and then move Self-Service
Portal to port 80.

Use SSL
SSL is recommended to ensure secure communication, especially when using basic
authentication when a username and password are transferred across network in plain
text.

Deployment topologies
You can use the following deployment topologies for the Self-Service portal.

Single server (recommended) - Self Service portal and


the Service Manager server on the same Server
In this topology, both the new Self-Service Portal and the Management Server role are
installed on the same server. This is the recommended topology because it avoids any
network delay between the Portal and the SDK Service. Additionally, we recommend
that you install the Self-Service Portal on a secondary Service Management server to
avoid any performance degradation due to workflows running on the primary server.

In this topology, Windows Authentication (configured by default) is used to provide


secure authentication without the overhead of using SSL.

Stand-alone Self Service portal deployment


In this topology, the Self-Service portal is installed a server that doesn't have the Service
Manager management server role installed on it.
In this configuration, the new Self-Service Portal and the secondary Service Manager
server are installed on different servers and a double-hop is required to create a
connection to the SDK Service from the Web app. Windows Authentication can't be
used in this case and the Portal needs to be configured to use Basic Authentication. As
Basic Authentication is inherently insecure, using SSL is recommended to avoid any
deployment security issues, like accessing resources beyond firewalls and proxy servers.
See additional details on Basic Authentication for double-hop scenarios.

Using SSL with network delays between the Portal and the SDK Service, makes this
topology slower compared to a single-server deployment. However, this configuration
can help deployment scenarios where a double-hop can't be avoided.

Deploying a web farm


One of the key benefits of the new Self-Service Portal is that the Web app doesn't have
any local data storage apart from the caching. It reads and writes directly to the Service
Manager database. This makes it easier to deploy multiple instances of the Web server
in parallel. For large deployments, greater than 1,000 users accessing the portal in
parallel, you can deploy the new Self-Service Portal as a Web Farm similar to the
following configuration.

A WebFarm ensures high availability to the Self-Service Portal. Internally, the Web app
creates a WCF connection to the SDK Service. Creating the initial connection takes time,
so the ideal scenario is that the WebServer that the user connects to initially should
service all the subsequent requests for faster turnaround. To ensure this configuration in
IIS, the ARR setting should be set to Client Affinity enabled.
Troubleshoot Setup issues
The following troubleshooting sections can help you resolve common issues.

IIS is not installed


The Configuration page shows an IIS role error, even when IIS is enabled on the server.

This happens when the installer is started without Administrator credentials. As a result,
the installer can't not access IIS configuration settings.

Resolution: Run SetupWizard.exe as an Administrator. You can right-click SetupWizard


and then select Run as Administrator.

Troubleshoot the New Self-Service portal


This section describes how to troubleshoot issues you might encounter after installing
the new Self-Service Portal.

IIS settings
The following portal default settings are configured during installation -

App pool
It's configured to run in .NET CLR version 4 in Classic mode.

In Advanced settings, the appPool is configured to run with a Service Account that is
provided during installation. The same user should have administrator privilege in
Service Manager and the local machine that it runs on.
Website configuration
Only Impersonation and Windows Authentication should be enabled. Anything else
should be disabled.

For Impersonation, Authenticated user should be selected.

Windows Authentication Settings:


The Default Document for the Website should be index.cshtml.

Basic authentication

For a double-hop scenario, Windows Authentication won't work; so it must be disabled.


Enable and configure basic authentication.

Enable tracing
Use the following steps to enable tracing.

Step 1 Add the following settings in the web.config file to enable event log generation.

<system.web>
.....
<trace enabled="true"/>
...
</system.web>
Step 2 Direct output to a file by adding the following sections in the web.config file.

<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="myListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\logs\SSPOutput.log" />
</listeners>
</trace>
</system.diagnostics>

Because the Web App runs in the logged-on user's content, ensure that you provide
write permissions to all the users in the log folder. For example, c:\logs in the example
above.

Debugging IIS
IIS supports efficient logging to help you debug IIS issues. For more information, see IIS
Logging Overview .

Troubleshoot deployment issues


Use the following sections to troubleshoot deployment issues that might affect you.

Definition changes (Announcements/Request


Offerings/Service Offerings/Knowledge Articles) are not
shown
The new Self-Service Portal uses a caching mechanism to store static data to provide
fast response times. The cache timeout is set to 30 minutes by default, which is
configurable. For more information, see Deploy the New Self-Service Portal in the Basic
Customization section. Any changes to definitions of announcements, request offerings,
service offerings, and knowledge articles aren't shown until the cache is cleared.

Memory caching used is based on .NET Framework MemoryCache . Cached content


remains in memory until the IIS Worker process is terminated. Restarting IIS doesn't
help, because IIS doesn't remove an old process and then start a new one. Instead, it
reuses an existing one. To enforce fresh reading and to remove cache data, identify the
IIS Worker process that is associated with the instance and select End task before you
restart IIS.

My Requests and My Activities sections are empty


New type projections are included in the Portal.mpb file, which is part of the installer,
and needs to be imported into Service Manager. To import, use the following steps.

1. Import the Portal.mpb file on your management server.

2. On the Management Server where your Portal connects to, restart the SDK Service.

Pop-ups blocking external links


If the Enhanced Security Configuration setting for Internet Explorer is enabled, the user
receives the following pop-up on each page while browsing the portal.
The pop-up above appears for the App Insights JavaScript SDK, which is integrated in
the Self-Service Portal to gather telemetry data. You can disable sending telemetry data
by changing the value of the EnableTelemetry configuration parameter, which will
remove the pop-up. For more information, see Deploy the New Self-Service Portal in the
Basic Customization section.

You can access the portal on the computer that hosts IIS,
but you can't access it from a remote computer
This issue may occur if Portal and SDK Service are located on different computers
(Stand-Alone Self-Service Portal Deployment). This causes a double hop scenario when
you try to access the portal from a remote computer. Therefore, the default portal
configuration that is described under Windows Authentication won't work. To resolve
this issue, use the Basic Authentication configuration instead.

You can't see some Service Offerings or published Service


Offerings in the portal
This is because Service Offerings are displayed only if they meet one of the following
conditions:

The Service Offering matches the browser language or language selected through
Portal Language selector matches.

The Service Offering has no language selected.


Here's list of languages with language codes that are supported by the portal:

en-US: English

fr-FR: français

de-DE: Deutsch

cs-CZ: čeština

da-DK: Dansk

el-GR: Ελληνικά

es-ES: español

fi-FI: suomi

hu-HU: magyar

it-IT: italiano

ja-JP: 日本語
ko-KR: 한국어

nb-NO: norsk

nl-NL: Nederlands

pl-PL: polski

pt-BR: português (Brasil)

pt-PT: português (Portugal)

ru-RU: русский

sv-SE: svenska

tr-TR: Türkçe

zh-CHS: 中文(简体)

zh-TW: 中文(简体)

zh-HK: 中文 (香港特別行政區)

The time display for my items always indicates AM


To resolve this issue, find the "utc-date" tag and replace
DateTime.Parse(xyz).ToString("yyyy,M,d,h,m,s") with
DateTime.Parse(xyzToString("yyyy,M,d,H,m,s") in the following files:

Views\KnowledgeBase\Article.cshtml

Views\MyActivities\ActivityDetails.cshtml

Views\MyRequests\RequestDetails.cshtml

Views\Shared\_Layout.cshtml

Next steps
To deploy the Self-Service portal and customize it, review Deploy the Self-Service
portal.
Deploy the Self-Service portal for
Service Manager
Article • 07/19/2023

The Self-Service portal provides web-based access to the features of System Center -
Service Manager for end users. This article describes how you can deploy the Self-
Service portal and customize it.

Supported operating systems


Windows Server 2019
Windows Server 2016
Windows Server 2012 R2

For more information, see system requirements

Supported web browsers


The Self-Service portal needs a screen resolution above 1024 X 768. It's supported on
the following browsers.

Microsoft Edge

Microsoft Internet Explorer 10 and 11

Mozilla Firefox 42 and later

Google Chrome 46 and later

Set up the Self-Service portal


You'll use the following sections to set up the Self-Service portal.

Set up the web server


Join the Windows server machine to the same domain where the Service Manager SDK
Service is running. Ideally, on the secondary server. Enable the IIS role and ASP.NET 4.5
on the server using following steps.

1. Start the Add Roles and Features Wizard and then enable IIS.
2. Enable the .NET features.

a. Enable .NET 3.5

b. Enable HTTP Activation


c. Enable ASP.NET 4.5

3. Enable the following role services on the Web Server Role (IIS) page.

a. Basic Authentication and Windows Authentication

b. Add Application Development and under it, add .NET Extensibility 4.5, ASP,
and ASP.NET 4.5.
Install the Self-Service Portal Webapp using Setup
Use the following steps to install the Self-Service Portal WebApp using Setup.

1. Select Service Manager Self-Service Portal in Service Manager setup wizard.

2. Go through the EULA and accept it.

3. Choose your installation location.


4. Review the System check results.

5. Configure the Self-Service Portal server and enter configuration details for your
server.

WebSite Name : The name of the website to display in the IIS Management
console.

SM Server name: You can provide a fully qualified domain name or the
NetBIOS name of the server running the Service Manager SDK service. We
recommend that you use a dedicated secondary Service Manager
management server to communicate with the portal. For more information,
see Deployment topologies.

Portal Port: The port number that the website will use.

SSL Certificate: (Optional) The SSL certificate to configure the website in


secure mode (https://). This is the recommended setting if you're using Basic
Authentication. The default is Windows Authentication.
6. Configure the account for the Self-Service Portal. This is the account that the IIS
instance will run under. This account should have the Service Manager Admin role.
7. The Diagnostic and usage data notification information is displayed, informing you
that data is sent to Microsoft by default. You can change this setting in the Service
Manager console. Select Next.

8. Choose whether to automatically install Microsoft updates.


9. Wait for installation to complete.
Install the Self-Service portal webapp using the command
line
You can modify the following example to install the Self-Service portal.

SetupWizard.exe /Install:SelfServicePortal /silent /accepteula


/CustomerExperienceImprovementProgram:No /EnableErrorReporting:No
/PortalWebSiteName:<Portal Name> /SMServerName:<SDK Server Name>
/PortalWebSitePort:<PortNumber> /PortalAccount:<domain>\<user>\<pwd>

Complete the installation


Use the following step to complete your installation.

Restart IIS. You can access the Web App (http://yourwebsite:port) in your browser.
It will resemble the following image.

Customize the Self-Service portal


The following section describes how you can customize the Self-Service portal to suit
your organization.
Before you install any Update Rollup for Service Manager, note that all customizations
are made in the portal sidebar (CustomSidebar.cshtml). Then use the following steps to
get started.

1. Create a new cshtml file named CustomSidebar.cshtml in the <Self-Service Portal


install path>\inetpub\wwwroot\SelfServicePortal\Views\Shared folder path.
2. Move your customizations from sidebar.cshtml to the new file, which is
CustomSidebar.cshtml.

In the future, you need to make all customizations to the Service Manager Self-Service
portal’s sidebar in the CustomSidebar.cshtml file.

Basic customization
The <appSettings> tab in the Web.config file offers some standard settings to easily
customize and personalize the areas that are most often modified. Here's a list of them.

Key Purpose

CompanyName The value of this key appears as the company's name


inside the portal.

CompanyLogoLocation The value of this key is used as the image file, which is
displayed as the company's logo inside the portal.

ITPhone This key takes the value to configure the IT help desk's
phone number. This information appears at the bottom
of the navigation menu.

ITEmail The value of this key is used to configure the IT help


desk's email ID. This information appears at the bottom
of the navigation menu.

DefaultLanguage By default, the Portal web pages are loaded as defined


by the browser's language. Then current user can
manually select the language in the top-right corner of
each page.
The value of this key defines the default failover
language, which is chosen by the portal when the
browser's language isn't available.

GenericOffering The value of this key accepts the name of the request
offering, which is mapped to the generic request
button. This generic request button is used by the user,
when they can't find an appropriate request offering in
the catalog.
Key Purpose

SDKServerName The value of this key defines the name of the server
where the Service Manager SDK runs, and it's used to
interact with other Service Manager servers. By default,
it has the same value that you provided in Setup.
You can use the fully qualified domain name or the
NetBIOS name of the server running the Service
Manager SDK service. We recommend that you
dedicate a secondary Service Manager management
server to communicate with the portal.

MaxQueryResults The value of this key defines the maximum number of


results that are returned by any query form element
inside your request offering forms.

UserCacheTimeout The Portal uses a caching infrastructure to provide a


swift user experience. The value of this key defines the
timeout, in seconds, to cache user-specific details of
the signed-in user.

DataCacheTimeout The Portal uses a caching infrastructure to provide a


swift user experience. The value of this key defines the
timeout, in seconds, to cache generic data which can
be shared among different users.

EnableTelemetry The value of this key defines your selection about ,


participating in Microsoft's Customer Experience
Improvement Program. Your portal sends usage
telemetry data to Microsoft when this key is marked as
True. By default, it has the same value that you chose
during Setup.

CustomActiveRequestStatusEnumList By default, the Self Service portal puts custom


enumerations for My Request (incident and service
requests) states in the Closed filter category. This key
allows customization to map required custom states to
the Active filter category. The value of this key should
be a comma separated list containing EnumTypeName
values of enumerations which are required to be
mapped with the Active category in the Self Service
Portal. You can look for desired custom states labeled
EnumTypeName in the EnumType table, using the
following example.

SELECT [EnumTypeName]

FROM [<Service Manager DB name, which by default is


“ServiceManager”>].[dbo].[EnumType]
7 Note

You must restart the IIS service after you make any changes to the Web.config file.

Style customization
Web page style, such as font, color, and background, is customized by adding the
Custom.css file in the \Content\css website folder.

Styles defined in the CSS file override the default styles of the Self-Service Portal.

Customizing the left menu bar


You can modify the content shown in the left navigation bar (menu) by editing the
Sidebar.cshtml file, which is in the \Views\Shared inside the website folder.

For example:

You can add or remove shortcuts from the menu, and you can customize them with
details for the CSS class, keyboard hotkeys, and others.

Additional UI customization
For more information about UI customization, see The Official System Center Service
Manager Blog .

Next steps
To configure Windows Server Network Load Balancing with Service Manager,
review Guidance for load balancing.
Load balancing Service Manager
Article • 03/16/2023

This article describes how you can load-balance Service Manager management servers
in System Center - Service Manager.

Set up load balancings


You can use network Load Balancing (NLB) in Windows Server to configure a pool of
computers so that they take turns responding to requests. In System Center - Service
Manager, the initial Service Manager management server that you deploy is the server
that processes workflows. You can deploy additional management servers to provide
failover for a failed initial management server and to provide load balancing for
handling Service Manager console. Learn about network load balancing. Learn about
deploying additional Service Manager management servers.

As a minimum, you've to deploy an initial Service Manager management server-the


management server that hosts the workflow processes-and at least one additional
Service Manager management server. In an environment of this kind that consists of two
Service Manager management servers, configure NLB to use both management servers,
as shown in the following illustration.
If you deploy two or more additional Service Manager management servers, you can
isolate the initial Service Manager management server from the NLB pool. This reduces
the workload on the initial Service Manager management server, resulting in better
workflow performance. It also load-balances all the Service Manager consoles across the
remaining Service Manager management servers. This scenario is shown in the following
illustration.

Next steps
To use the Encryption Key Backup or Restore Wizard to back up and restore
encryption keys, Review Complete deployment by backing up the encryption key.
Complete Service Manager deployment
by backing up the encryption key
Article • 03/16/2023

When you deployed your System Center - Service Manager management server and
database, an encryption key was created so that data between the Service Manager and
data warehouse management servers and their associated databases could be
encrypted. When you deployed the Self-Service Portal, an encryption key was created so
that data between the Self-Service Portal and the Service Manager database could be
encrypted.

Your disaster recovery strategy depends on you backing up the encryption keys as soon
as you complete the Service Manager installation. After you back up the encryption keys
and store them in a safe location, you can recover from software or hardware failures on
the Service Manager management servers, data warehouse management servers, and
Self-Service Portal.

Use the Encryption Key Backup or Restore Wizard and the following procedures to back
up and restore encryption keys on the Service Manager management servers and Self-
Service Portal. This wizard is located on the Service Manager installation media in the
Tools\SecureStorageBackup folder.

Back up the encryption key


1. Sign in to the computer that hosts the Service Manager management server, data
warehouse management server, or Self-Service Portal by using an account that is a
member of the Administrators group.

2. In Windows Explorer, open the Tools\SecureStorageBackup folder on the


installation media.

3. Right-click SecureStorageBackup.exe, and select Run as administrator to start the


Encryption Key Backup or Restore Wizard.

4. On the Introduction page, select Next.

5. On the Backup or Restore? page, select Backup the Encryption Key, and select
Next.

6. On the Provide a Location page, enter the path and file name for the encryption
key. For example, if you want to specify the file name SMBackupkey.bin as the
encryption key and save the key on the server MyServer in the Backup folder, enter
\\MyServer\Backup\SMBackupkey.bin, and select Next.

7. On the Provide a Password page, enter a password that contains at least eight
characters in the Password box. In the Confirm Password box, re-enter the same
password, and select Next.

7 Note

Recovery of the password isn't possible if it's lost or forgotten.

8. After you receive the message Secure Storage Backup Complete, select Finish.

Restore the encryption key


1. Sign in to the computer that hosts the Service Manager management server, data
warehouse management server, or Self-Service Portal by using an account that is a
member of the Administrators group.

2. In Windows Explorer, open the Tools\SecureStorageBackup folder on the


installation media.

3. Right-click SecureStorageBackup.exe, and select Run as administrator to start the


Encryption Key Backup or Restore Wizard.

4. On the Introduction page, select Next.

5. On the Backup or Restore? page, select Restore the Encryption Key, and select
Next.

6. On the Provide a Location page, enter the path and file name for the encryption
key. For example, if you want to specify the file name SMBackupkey.bin for the
encryption key and save the key on the server MyServer in the Backup folder share,
enter \\MyServer\Backup\SMBackupkey.bin, and select Next.

7. On the Provide a Password page, enter the password that you used to back up the
encryption key in the Password box. In the Confirm Password box, re-enter the
same password, and select Next.

8. After you receive the message, Secure Storage Key Restore Complete, select
Finish.
Next steps
To resolve an indexing issue in an environment where you create, or plan to create,
knowledge articles in any language other than English, review Index non-English
knowledge articles.
Index non-English Service Manager
knowledge articles
Article • 04/26/2023

If you've existing knowledge articles or are planning to create knowledge articles in any
language other than English, use the following procedure to resolve an indexing issue in
Microsoft SQL Server 2016. This issue deals with non-English characters that are used in
only the Analyst Content and the Internal Content fields in a knowledge article. You
must perform this procedure on the computer that hosts the System Center - Service
Manager database. You have two tasks to perform. The first is to edit the registry, and
the second is to run a series of SQL Server query commands on the Service Manager
database.

7 Note

The indexing issue has been resolved in the later versions of Microsoft SQL Server
2016. However, if the issue persists, resolve it by using the same procedure outlined
for Microsoft SQL Server 2016.

U Caution

Incorrectly editing the registry might severely damage your system; therefore,
before making changes to the registry, back up any valued data on the computer.

You need three pieces of information for this procedure:

This globally unique identifier (GUID): E2403E98-663B-4DF6-B234-687789DB8560

The GUID of the .rtf file that you'll discover in the following procedure

The location of the file rtffil.dll, typically, C:\Windows\System32

For this procedure, it's assumed that the file rtffil.dll is located in the
C:\Windows\System32 folder.

Edit the registry


1. On the computer hosting the Service Manager database, sign in to the computer
as a user with administrative credentials.
2. On the Windows desktop, select Start, and select Run.

3. In the Run dialog, in the Open box, enter regedit, and select OK.

4. If the default instance was selected during Setup, in the Registry Editor window,
expand HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL
Server\MSSQL13.MSSQLSERVER\MSSearch\Filters\.rtf.

7 Note

If the default instance wasn't selected during setup, the


MSSQL13.MSSQLSERVER node will be different.

5. In the right pane, double-click Default.

6. In the Edit String dialog, in the Value data box, make note of the GUID that you
find here. This is the GUID of the rtf. file that you'll use in step 8. Replace this value
with the provided GUID, E2403E98-663B-4DF6-B234-687789DB8560. Ensure that
open and close brackets surround this GUID. Select OK.

7. In the registry tree, above the Filters node that you're currently in, is the CLSID
node. Expand CLSID.

8. In the left pane of the registry editor, locate the GUID that you saved from step 6.
Right-click this node, and select Rename.

9. Rename this node by using the provided GUID, E2403E98-663B-4DF6-B234-


687789DB8560. Ensure that open and close brackets surround the GUID.

10. In the right pane, double-click the Default key.

11. In the Edit String dialog, in the Value data box, enter the path of the file rtffilt.dll.
For example, enter c:\windows\system32\rtffilt.dll, and select OK.

12. Verify that the data entry for the ThreadingModel key is set to Both.

13. Close the Registry Editor.

To run the SQL Server commands


1. On the computer hosting the Service Manager database, on the Windows desktop,
select Start, select All Programs, select Microsoft SQL Server 2016, and select SQL
Server Management Studio.
2. In the Connect to Server dialog, perform the following:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server and instance for your Service Manager
database.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases, and select ServiceManager.

4. In the toolbar, select New Query.

5. In the center pane, enter the following commands, and select Execute.

exec sp_fulltext_service 'verify_signature', 0


go
exec sp_fulltext_service 'update_languages'
go
exec sp_fulltext_service 'restart_all_fdhosts'
go

6. In the Messages tab, verify that the message Command(s) completed successfully
appears.

To verify changing the .rtf filter


1. On the computer hosting the Service Manager database, on the Windows desktop,
select Start, select All Programs, select Microsoft SQL Server 2016, and select SQL
Server Management Studio.

2. In the Connect to Server dialog, perform the following:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server and instance for your Service Manager
database.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases, and select ServiceManager.

4. In the toolbar, select New Query.


5. In the center pane, enter the following, and select Execute:

select * from sys.fulltext_document_types where document_type = '.rtf'

6. The results pane shows the following results:

result value

document_type .rtf

class_id E2403E98-663B-4DF6-B234-687789DB8560

path C:\Windows\System32\Rtffilt.dll

Next steps
To review logs files that are created when you install Service Manager and how you
can use these logs to troubleshoot deployment issues, see Troubleshoot
deployment issues to resolve problems.
Troubleshoot Service Manager
deployment issues
Article • 03/16/2023

An installation log file is captured during the installation of System Center – Service
Manager. After Service Manager is running, various events are captured in the Windows
Event Log. In addition, there are some Windows PowerShell commands that you can use
to help troubleshoot data warehouse jobs. For more information, see Troubleshoot Data
Warehouse Jobs.

Installation log files


A log file, SCSMInstall.log, captures the progress of the installation. You can use this log
file to troubleshoot a failed installation. You can find this log file in the %temp% folder.
To troubleshoot installation problems, you can open the log files and search for a line
that reads Return Value 3. If you find such a line in the log file, look above this line for
any indication that a particular step failed.

Event logs
Service Manager event logs are located in Event Viewer in the Application and Service
Logs/Microsoft/Operations Manager folder.

Create database error


During setup, when you were configuring Service Manager or data warehouse
databases, you were given the opportunity to specify how much disk space to allocate
for each database. The default setting is 2,000 megabytes (MB) (2 gigabytes (GB)). In
addition to the disk space that is required for the database, Service Manager sets aside
additional space for file groups and log files. The additional space that is required for
the file groups and log files can be equal to the space that is required for the database.

If there's insufficient disk space available, a message appears indicating that an error
occurred during the execution of a custom action: _CreateDatabase . The installation
stops before permanent changes are made. If you examine the Service Manager setup
log, you find the following string:
Additional Error Description : MODIFY FILE encountered operating system
error 112(There is not enough space on the disk.) while attempting to expand
the physical file

You've to either increase the amount of free disk space that is available or reduce the
amount of space that Service Manager allocates for the database, and then attempt the
installation again. If you're installing Service Manager in a nonproduction environment,
you can specify as little as 500 MB for the database.

Next steps
To deploy Service Manager using command-line parameters, review Deploy Service
Manager from a command line.
Deploy Service Manager from a
command line
Article • 03/16/2023

This article describes how to deploy System Center - Service Manager using command-
line parameters. For easier reading, the command-line examples in this guide list each
command-line parameter on its own line. If you copy these examples, you must remove
the carriage returns/line-feeds (CRs/LFs) from each line before you can run the
commands.

7 Note

The /silent parameter must be the last parameter used in a command-line install.

In this guide, the command-line arguments that you provide are delineated by brackets:
[]. For example, you provide the Registered Owner's name [owners name] and
Registered Organization's name [company name] as shown in the following example:

Setup.exe
/Install:Datawarehouse
/RegisteredOwner:[owners name]
/RegisteredOrganization:[company name]
/Silent

If your command-line argument contains a space-for example, [owners name]-enclose


the argument in double quotation marks. For example, if you use Garret Young as the
argument for the RegisteredOwner command-line parameter, enter the name as shown
in the following example:

/RegisteredOwner:"Garret Young"

Some of the command-line parameters that are used for the Operations Manager and
Configuration Manager data marts define Structured Query Language (SQL) path
statements as command-line arguments. You must define the drive name and make sure
that the path that is listed in this guide is the correct path for your version of Microsoft
SQL Server. The examples in this guide are correct for SQL Server 2016, as shown in the
following example:

/OMDataMartDatabaseLogFilePath:[drive name]\Program Files\Microsoft SQL


Server\MSSQL13.MSSQLSERVER\MSSQL\DATA

For additional information about command-line parameters, enter setup.exe /?. The
parameters in the following table are optional.

command notes

/ProductKey If this parameter is omitted, Service Manager is installed as an


evaluation edition with an evaluation period of 180 days.

/Installpath If this parameter is omitted, Service Manager is installed in the


default folder and path:

[drive name]:\Program Files\Microsoft System Center\Service


Manager <version>.

/ServiceRunUnderAccount If this parameter is omitted, the local system account is used.

/WorkflowAccount If this parameter is omitted, the local system account is used.

Before you start

Prepare the computer


To help prevent an installation failure, perform the following steps on the computer
where you'll be installing Service Manager:

1. Run the UI-based Setup up to the point where you run the prerequisite checker.
Ensure that the prerequisite checker passes, or at least passes with a warning.

2. On the computer where you'll be installing the reporting server, ensure that the
SQL Server Reporting Services (SSRS) service has started.

3. If you're going to deploy the Reporting Server on a computer other than the
computer hosting the data warehouse management server, ensure that you've
completed the procedure in Manual Steps to Configure the Remote SQL Server
Reporting Services.
Determine when installation is complete
When installation of either the Service Manager management server or the data
warehouse management server is complete, an event with Event ID 1033 is written into
the Application event log, as shown in the following illustration.

If you use the start /w command when you're using setup.exe, the command window
will remain open when Setup completes, giving you the opportunity to examine any
return codes.

Check error codes


When the command-line Setup is complete, the command prompt appears. You can
view the error code that was returned by entering echo %errorlevel%. An error code of
0 means that the installation was successful. The error codes that could be returned by
the command-line installation are listed in Command-line option error codes.

The command-line installation won't check the database name that you supply to see if
it already exists. If you supply a database name that already exists, the command-line
installation will fail and a -1 will be returned as an error code.

Deploy a management server


You can use the following command-line procedures to deploy the Service Manager
management server and the Service Manager database.
To deploy the Service Manager management server and
database on one computer
1. Sign in to the computer where you want to install the Service Manager console
using administrative credentials.

2. Open the command window.

3. At the command prompt, change directories to the location of the Service


Manager installation media, and enter the following:

Start /Wait
Setup.exe
/Install:Server
/AcceptEula:[YES/NO]
/RegisteredOwner:[owner name]
/RegisteredOrganization:[company name]
/ProductKey:[25-character product key]
/CreateNewDatabase
/ManagementGroupName:[management group name]
/AdminRoleGroup:[domain\account name]
/ServiceRunUnderAccount:[domain\account name\password]
/WorkflowAccount:[domain\account name\password]
/CustomerExperienceImprovementProgram:[YES/NO]
/EnableErrorReporting:[YES/NO]

/Silent

Deploy a Data Warehouse management server


Use the following procedures to deploy a Service Manager data warehouse and
databases, including the Operations Manager and Configuration Manager data mart
databases, in System Center - Service Manager.

Deploy the data warehouse


Use the following procedures to deploy the data warehouse with the Operations
Manager and Configuration Manager data mart databases. If you want to install the
data warehouse management server and data warehouse databases on the same
computer, use the same computer name that you're running Setup on for all instances
of [computer name]. If you want to deploy the databases on a separate computer,
adjust the [computer name] entries accordingly.
The /AnalysisServerDatabaseDataFilePath is optional, and if it isn't used, the default
path will be used.

The DWStagingAndConfig database and the DWRepository database must reside on the
same instance. Ensure that you specify the same computer and instance for the
/StgConfigSqlServerInstance and /RepositorySqlServerInstance command-line
options.

To deploy the data warehouse management server, data warehouse


databases, and optional data marts
1. Sign in to the computer where you want to install the Service Manager console
using administrative credentials.

2. Open a command window.

7 Note

You must run the command prompt with administrative credentials.

3. At the command prompt, change directories to the location of the Service


Manager installation media, and enter the following:

Start /Wait
Setup.exe
/Install:Datawarehouse
/AcceptEula:[YES/NO]
/RegisteredOwner:[owner name]
/RegisteredOrganization:[company name]
/ProductKey:[25-character product key]
/CreateNewDatabase
/AdminRoleGroup:[domain\account name]
/StgConfigSqlServerInstance:[computer name]
/RepositorySqlServerInstance:[computer name]
/DataMartSqlServerInstance:[computer name]
/ReportingServer:[computer name]
/ReportingWebServiceURL:"http://[computer name]:80/ReportServer"
/ServiceRunUnderAccount:[domain\account name\password]
/DatasourceAccount:[domain\account name\password]
/CustomerExperienceImprovementProgram:[YES/NO]
/EnableErrorReporting:[YES/NO]
/ManagementGroupName:DW_improvement
/OMDataMartSqlServerInstance:[computer name]
/CMDataMartSqlServerInstance:[computer name]
/AnalysisServerInstance:[computer name]
/AnalysisServerDatabaseDataFilePath:[path to analysis database]
/ASRunUnderAccount:[domain\account name\password]
/Silent

Deploy a Service Manager console


Use the following command-line procedure to deploy the Service Manager console in
System Center - Service Manager.

To deploy the Service Manager console


1. Sign in to the computer where you want to install the Service Manager console
using administrative credentials.

2. Open a command window.

3. At the command prompt, change directories to the location of the Service


Manager installation media, and enter the following:

Start /Wait
Setup.exe
/Install:Console
/AcceptEula:[YES/NO]
/RegisteredOwner:[owner name]
/RegisteredOrganization:[company name]
/ProductKey:[25-character product key]
/Installpath:[drive name]\Program Files\Microsoft System Center\Service
Manager \<version\>
/CustomerExperienceImprovementProgram:[YES/NO]
/EnableErrorReporting:[YES/NO]

/Silent

Command-line option error codes


The following is a list of the error codes that are used in the command-line installation
of Service Manager.

Error code Error

-16 PreUpgradeCheckFailed

-15 InvalidCommandLine
Error code Error

-14 FailedPrerequisiteChecks

-1 Failed

0 Successful

200 DuplicateDataLogPath

201 DuplicatedCMDB

202 EnterValidDatabaseServer

203 FailedToGetCaseSensitiveAccount

204 FailedToValidateMgmtGrp

205 FullTextSearchNotInstalled

206 InstallPathAccessDenied

207 InstallPathCreateDirectory

208 InstallPathTooLong

209 InvalidCMDB

210 InvalidDatabaseConfiguration

211 InvalidDatabaseSize

212 InvalidDataLogPath

213 InvalidDwServer

214 InvalidInstallPath

215 InvalidPrereqResultFile

216 InvalidProductKey

217 InvalidReportServerConfig

218 InvalidSCSM

219 InvalidSmAdminGroup

220 InvalidSqlInstance

221 InvalidSqlServiceState

222 InvalidToInstalleScsm
Error code Error

223 InvCharInMG

224 MgmtGrpRegistryExist

225 MissingSetupFiles

226 NotEnoughFreeSpace

227 NotEnoughFreeSpaceOnSqlServer

228 NotLocalAdminOnSqlServer

229 NotWin2k8x64Machine

230 NotVistaSP2OrAboveMachine

231 NullDatabaseName

232 NullMG

233 NullSMAdmin

234 OldDwDatabaseExist

235 orMessageBoxTitle

236 PrimarySdkServerEmpty

237 RequiredFreeDiskSpace

238 RequiredFreeDiskSpaceForDataFile

239 RequiredFreeDiskSpaceForLogFile

240 ScomAgentInstalled

241 ScomServerInstalled

242 ScsmComponentsInstalled

243 SelectCMDB

244 SelectSqlServerInstance

245 ServerAccessDenied

246 ServerNotFound

247 SetupAlreadyRunning

248 SetupCancelByUser
Error code Error

249 SetupCrashMsg

250 SetupFailedAt

251 SetupFailedWithMsior

252 SqlAccessDenied

253 SsrsInvalidWebUrl

254 SsrsNeedSecureUrl

255 SsrsNotInstalledOn

256 TestCredentialsFailed

257 TestCredentialsNotLocalAdmin

258 TooLongDatabaseName

259 TooLongMG

260 UnableToNavogateFolderOnRemoteServer

261 UncDataLogPath

262 UnsupportedSQL

263 UserNotSysAdmin

264 FaildToConnectAD

265 ScsmSameVersionInstalled

266 InvalidWebSiteName

267 InvCharInWebSiteName

268 TooLongWebSiteName

269 InvalidWebSitePort

270 WebSiteNameInUse

271 WebSitePortInUse

272 DWServerInstalled

273 SMServerInstalled

274 SMConsoleInstalled
Error code Error

275 SMPortalInstalled

276 IISNotConfigured

277 FailedToConnectToAD

278 SmAdminIsDomainAdministrators

279 InvalidRegisteredOwner

280 InvalidRegisteredOrganization

281 IIS7RoleNotEnable

282 Not64BitSetup

283 DatabaseSqlStoreNotFound

284 ScomUIInstalled

285 InvalidDatabaseName

286 InvalidCMDBVersion

287 UNCPathExpected

288 DataDirectoryDoesNotExist

289 AnalysisServicesNotInstalled

290 DuplicatedASDatabaseID

3010 SuccessfulNeedReboot

Next steps
To read prescriptive and how-to guidance about moving Service Manager
databases, review Move the Service Manager and data warehouse databases to
different servers.
Move the Service Manager and data
warehouse databases to different
servers
Article • 04/28/2023

After you've deployed Service Manager, you might need to move the Service Manager
or data warehouse databases from one computer running Microsoft SQL Server to
another for reasons such as the following:

You need to replace hardware that is experiencing issues and is no longer


considered reliable.

You need to add additional hardware to improve scalability and performance.

You need to move a database and log file to a different volume because of space
or performance reasons.

You need to change hardware that is leased and is due to expire soon.

You need to change or upgrade hardware to comply with new hardware standards.

You initially installed multiple Service Manager components on a single server, and
you need to distribute some components to other servers.

You need to restore functionality in a failure scenario.

If you want the move the data warehouse database, and if you've installed Service
Manager within the last 90 days, it might be easier for you to unregister the data
warehouse, install a new data warehouse, and register the new database. If the data
hasn't been groomed from the Service Manager database, there will be no data loss in
the data warehouse database because it will be synchronized. By default, the grooming
interval for work items is 90 days from the last time a work item was modified. Using this
process is simpler than using the following guidance, which details how to move your
databases from one server to another and requires many steps.

Move the Service Manager database


You must use the following high-level steps to move the Service Manager database.

7 Note
These steps link to content in the Service Manager Upgrade Guide.
After deploying Service Manager on the SQL server nodes participating in SQL
Always On, to enable CLR strict security, run the SQL script on each Service
Manager database.

1. Open the inbound SQL Port on new Service Manager database server. The default
port is 1433.

2. Stop the System Center services on all the management servers.

3. Back up the Service Manager database, as described in How to Back Up the


Production Service Manager Database.

4. Restore the Service Manager database on the target computer that is running
Microsoft SQL Server, as described in How to Restore the Service Manager
Database in the Lab Environment.

5. Configure the Service Manager database, as described in How to Prepare the


Service Manager Database in the Lab Environment.

) Important

Don't perform step 17 in the procedure for configuring tables.

6. After you move the ServiceManager database, ensure that you manually change all
the Service Manager database and data warehouse registration information in the
DWStagingAndConfig database. Old information about where the ServiceManager
database is located remains in the DWStagingAndConfig database in the following
tables:

MT_Microsoft$Systemcenter$Datawarehouse$CMDBSource
In the corresponding entry with DataSourceName_GUID = <Service
Manager Data Source Name>, change the field DatabaseServer_GUID with
the new name of the SQLServer\Instance where the ServiceManager
database has moved to.

MT_Microsoft$Systemcenter$ResourceAccessLayer$SqlResourceStore
In the corresponding entry with DataService_GUID = ServiceManager,
change the field Server_GUID to the new name of the SQLServer\Instance
where the ServiceManager database has moved to.
7. Configure the registry on all the management servers that will access the new SQL
Server instance by using the following steps:

a. Open Registry Editor.

b. Browse to HKEY_LOCAL_MACHINE\Software\Microsoft\System Center\


<version>\Common\Database.

c. Configure two keys: one for the server name (DatabaseServerName) and one for
the database name (DatabaseName). Set values to the new server name and
database name if they're different from the original values.

8. If you're also upgrading the SQL server while moving, then upgrade the following
SQL Server prerequisites for the Service Manager Management server. There are 2
SQL Server prerequisites:

SQL Native Client

Analysis Management Objects (AMO)

9. Start the System Center services on all the management servers, as described in
How to Start Service Manager Services on the Secondary Management Server.

10. Install another Service Manager database that has a different name on the same
computer that is running SQL Server by installing another Service Manager
management server and choosing to create a new database. This step will
populate the master database with error message text so that if an error occurs in
the future, the error message can describe the specific problem instead of
displaying generic text. After the database is installed, you can drop it from the
computer that is running SQL Server and uninstall the additional, temporary
management server.

-Or-

Run the following query on the source Service Manager database server and copy
the output script, and then run it on new Service Manager database server.

DECLARE @crlf char(2);


DECLARE @tab char(1);
SET @crlf = CHAR(13) + CHAR(10);
SET @tab = CHAR(9);

SELECT
'EXEC sp_addmessage ' + @crlf + @tab
+ '@msgnum = ' + CAST(m.message_id AS varchar(30))
+ ', ' + @crlf + @tab
+ '@severity = ' + CAST(m.severity AS varchar(3))
+ ', ' + @crlf + @tab
+ '@msgtext = N''' + REPLACE(m.[text],'''','''''')
+ '''' + ', ' + @crlf + @tab
+ '@lang = ''' +
(SELECT TOP 1 alias
FROM master.sys.syslanguages l
WHERE l.lcid = m.language_id)
+ ''', ' + @crlf + @tab
+ '@with_log = ''' +
CASE WHEN m.is_event_logged = 1
THEN 'TRUE' ELSE 'FALSE' END + ''', ' + @crlf + @tab
-- Uncomment ONLY if you want to replace:
+ '@replace = ''replace'';'
+ @crlf + 'GO' + @crlf + @crlf
FROM
master.sys.messages m
WHERE
m.message_id > 50000;

GO

Move data warehouse databases


The following high-level steps are required to move the data warehouse databases. Each
step in this list links to an associated procedure later in this article.

1. Locate user accounts and instances of SQL Server


2. Stop Service Manager services
3. Back up the data warehouse databases
4. Take the data warehouse databases offline
5. Restore the data warehouse databases on the new computer running SQL Server
6. Prepare the data warehouse databases on the new database server
7. Update data warehouse management Server with the new database server name
8. Update the data sources on the reporting server
9. Update the data sources for the Analysis Services
10. Start Service Manager Services on the data warehouse management server

) Important

After you move the DWStagingAndConfig and DWRepository databases, they


have to be restored on the same instance of SQL Server. Restoring them on
separate instances of SQL Server isn't supported.
The collation on the new instance of SQL Server has to match the collation of the
original instances of SQL Server where the data warehouse databases were
originally hosted.

Locate user accounts and instances of SQL Server


Use the following procedures to locate the user accounts and instances of SQL Server
that are used by the data warehouse management server to identify the:

SQL Server database and instance names

Follow these steps to identify the SQL Server database and instance names used by
the data warehouse management server:

1. Sign in to the data warehouse management server as a user with


administrative credentials.

2. On the Windows desktop, select Start, and select Run.

3. In the Run dialog, in the Open box, enter regedit, and select OK.

4. In the Registry Editor window, expand


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\
<version>\Common\Database, and then make note of the following registry
values:

DatabaseName

DatabaseServerName

DataMartDatabaseName

DataMartSQLInstance

RepositoryDatabaseName

RepositorySQLInstance

StagingDatabaseName

StagingSQLInstance

OMDataMartDatabaseName

OMDataMartSQLInstance
CMDataMartDatabaseName

CMDataMartSQLInstance

Stop Service Manager services


Use the following procedure to stop the Service Manager services on the data
warehouse management server.

Stop Service Manager services on the data warehouse


management server
Follow these steps to stop Service Manager services on the data warehouse
management server:

1. In the Run dialog, in the Open text field, enter services.msc, and select OK.

2. In the Services window, in the Services (Local) pane, locate the following three
services, and for each one, select Stop:

a. System Center Data Access Service

b. Microsoft Monitoring Agent

c. System Center Management Configuration

Back up the data warehouse databases


Use the following procedure to back up the data warehouse databases on the original
computer running SQL Server:

1. Sign in to the original computer running SQL Server that is hosting the data
warehouse databases, and open SQL Server Management Studio.

2. In the Connect to Server dialog, follow these steps:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server name for your data warehouse
database.

c. In the Authentication list, select Windows Authentication, and select Connect.


3. In the Object Explorer pane, expand Databases.

4. Right-click the DWStagingAndConfig database, select Tasks, and select Back Up.

5. In the Back Up Database dialog, enter a path and a file name in the Destination
on disk text box, and select OK.

) Important

The destination location must have enough available free disk space to store
the backup files.

6. Select OK in the Back Up Database dialog to start the backup.

7. Repeat these steps for the DWRepository, CMDWDataMart, OMDWDataMart, and


DWDataMart databases.

Take the data warehouse databases offline


Use the following procedure to take the data warehouse databases offline on the
original computer running SQL Server:

1. Sign in to the original computer running SQL Server that is hosting the data
warehouse databases, and open SQL Server Management Studio.

2. In the Connect to Server dialog, follow these steps:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server name for your data warehouse
database.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases.

4. Right-click the DWStagingAndConfig database, select Tasks, and select Take


Offline.

5. In the Take database offline dialog, select Close.

6. Repeat the previous steps for the DWRepository, CMDWDataMart,


OMDWDataMart, and DWDataMart databases.
Restore the data warehouse databases on the new
computer running SQL Server
Use the following procedure to restore the data warehouse databases on the new
computer running SQL Server:

1. On the new computer running SQL Server, open SQL Server Management Studio.

2. In the Connect to Server dialog, follow these steps:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the server name for your Service Manager
services database.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, right-click the Databases folder, and select Restore
Database.

4. In the Restore Database dialog, under the To a point in time text box, retain the
default, Most recent possible, or select a specific date and time by selecting the
browse button to open the Point in Time Restore dialog.

5. To specify the source and location of the backup sets to restore, select From
Device.

6. Select Browse to open the Specify Backup dialog.

7. In the Backup media list box, select one of the listed device types. To select more
devices for the Backup location, select Add.

8. In the Select the backup sets to restore grid, select the backups to restore. (This
grid displays the backups that are available for the specified location.)

9. On the General page, the name of the restoring database appears in the To
database list. Select the DWStagingAndConfig database from the list.

10. In the Restore options panel, select Overwrite the existing database.

11. In the Restore the database files as options panel, verify that the original database
file name and path are correct.

12. For the Recovery state option, select Leave the databases ready to use by rolling
back the uncommitted transactions. Additional transaction logs cannot be
restored (RESTORE WITH RECOVERY).
13. Select OK to restore the database.

14. Repeat the previous steps for the DWRepository, CMDWDataMart,


OMDWDataMart, and DWDataMart databases.

Prepare the data warehouse databases on the new


database server
Use the following three procedures to prepare the data warehouse databases on the
new database server:

1. To configure the DWStagingAndConfig database on the new computer running


SQL Server

2. To configure the service account database permissions

3. To configure the DWStagingAndConfig tables

Configure the DWStagingAndConfig database on the new


computer running SQL Server
Follow these steps to configure the DWStagingAndConfig database on the new
computer running SQL Server:

1. On the new computer running SQL Server, open SQL Server Management Studio.

2. In the Connect to Server dialog, follow these steps:

a. In the Server Type list, select Database Engine.

b. In the Server Name list, select the name of the new computer running SQL
Server that hosts the DWStagingAndConfig database.

c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases, and select DWStagingAndConfig.

4. In the toolbar, select New Query.

5. In the center pane, copy the following command, and select Execute.

sp_configure&nbsp;'clr enabled',&nbsp;1
go
reconfigure
go

6. In the center pane, remove the command you typed in the previous step, copy the
following command, and select Execute.

ALTER DATABASE DWStagingAndConfig SET SINGLE_USER WITH ROLLBACK


IMMEDIATE

7. In the center pane, remove the command you entered in the previous step, copy
the following command, and select Execute.

ALTER DATABASE DWStagingAndConfig SET ENABLE_BROKER

8. In the center pane, remove the command you entered in the previous step, enter
the following command, and select Execute.

ALTER DATABASE DWStagingAndConfig SET MULTI_USER

Configure the service account database permissions

Follow these steps to configure the service account database permissions:

1. In the Object Explorer pane, expand Security, and then expand Logins. Right-click
Logins, and select New Login.

2. Select Search.

3. Enter the user name by using the domain\user name format for the data
warehouse service account, select Check Names, and select OK.

7 Note

If the Data Access Account is running as LocalSystem, use the format


domain\computername$ in SQL Logins, where computername is the name of
the management server.
4. In the Select a page pane, select User Mapping.

5. In the Users mapped to this login area, in the Map column, select the row that
represents the name of the DWStagingAndConfig database. DWStagingAndConfig
is the default database name.

6. In the Database role membership for: DWStagingAndConfig area, ensure that the
following entries are selected:

configsvc_users

db_accessadmin

db_datareader

db_datawriter

db_ddladmin

db_securityadmin

dbmodule_users

public

sdk_users

sql_dependency_subscriber

db_owner

7. In the Database role membership for: DWRepository area, ensure that the
following entries are selected:

db_owner

public

8. In the Database role membership for: DWDataMart area, ensure that the
following entries are selected:

db_owner

public

9. Select OK.

10. In the Object Explorer pane, expand Security, and then expand Logins.
11. Right-click Logins, and then click New Login.

12. Select Search.

13. Enter the user name in the domain\user name format for the reporting account,
select Check Names, and select OK.

14. In the Select a page pane, select User Mapping.

15. In the Users mapped to this login area, in the Map column, select the row that
represents the name of the DWStagingAndConfig. DWStagingAndConfig is the
default database name.

16. In the Database role membership for: DWStagingAndConfig area, ensure that the
following entries are selected:

db_datareader

public

17. In the Database role membership for: DWRepository area, ensure that the
following entries are selected:

db_datareader

public

reportuser

18. In the Database role membership for: DWDataMart area, ensure that the
following entries are selected:

db_datareader

public

reportuser

19. In the Database role membership for: OMDWDataMart area, ensure that the
following entries are selected:

db_datareader

public

reportuser
20. In the Database role membership for: CMDWDataMart area, ensure that the
following entries are selected:

db_datareader

public

reportuser

21. Select OK.

22. In the Object Explorer pane, expand Security, and then expand Logins.

23. Right-click Logins, and select New Login.

24. Select Search.

25. Enter the user name in the domain\user name format for the OLAP account, select
Check Names, and select OK.

26. In the Select a page pane, select User Mapping.

27. In the Database role membership for: DWDataMart area, ensure that the
following entries are selected:

db_datareader

public

reportuser

28. In the Database role membership for: OMDWDataMart area, ensure that the
following entries are selected:

db_datareader

public

reportuser

29. In the Database role membership for: CMDWDataMart area, ensure that the
following entries are selected:

db_datareader

public

reportuser
30. Select OK.

Configure the DWStagingAndConfig tables


Follow these steps to configure the DWStagingAndConfig tables:

1. In the Object Explorer pane, expand Databases, expand DWStagingAndConfig,


and then expand Tables.

2. Select dbo.MT_Microsoft$SystemCenter$ManagementGroup, and select Edit Top


200 Rows.

3. In the center pane, locate the column SQLServerName_


43FB076F_7970_4C86_6DCA_8BD541F45E3A, and then in the first row of the
column, enter the name of the new computer running SQL Server that is hosting
the DWStagingAndConfig database. For named instances, enter
ComputerName\InstanceName.

4. Right-click dbo.
MT_Microsoft$SystemCenter$ResourceAccessLayer$SqlResourceStore, and select
Edit Top 200 Rows.

5. Update the column Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA for rows


representing DWStagingAndConfig, DWRepository, CMDWDataMart,
OMDWDataMart, and DWDataMart by entering the name of the new computer
running SQL Server that is hosting the respective databases. For named instances,
enter ComputerName\InstanceName.

6. Right-click
dbo.MT_Microsoft$SystemCenter$ResourceAccessLayer$CMDBResourceStore,
and select Edit Top 200 Rows.

7. In the center pane, locate the column


Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA, and in the first row of the
column, enter the name of the new computer running SQL Server that is hosting
the DWStagingAndConfig database. For named instances, enter
ComputerName\InstanceName.

8. Right-click LFX.DataSource, and select Edit Top 200 Rows.

9. In the center pane, locate the DataSourceAddress column, and in the first row of
the column, locate the entry that starts with Data Source = server name; Initial
Catalog = DWStagingAndConfig; Persist Security Info=False. Replace server
name with the name of the new computer running SQL Server.
10. Ensure that the values you entered were saved by querying the tables specified in
the previous steps.

11. Close Microsoft SQL Server Management Studio.

Update data warehouse management Server with the


new database server name
Use the following procedure to update the data warehouse management server to use
the new database server name:

1. Sign in to the computer as a user with administrative credentials.

2. On the Windows desktop, select Start, and select Run.

3. In the Run dialog, in the Open box, enter regedit, and select OK.

U Caution

Incorrectly editing the registry might severely damage your system; therefore,
before making changes to the registry, back up any valued data on the
computer.

4. In the Registry Editor window, expand


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\
<version>\Common\Database.

5. In the right pane, double-click DatabaseServerName.

6. In the Edit String box, in the Value data box, enter the name of the new computer
running SQL Server that hosts the DWStagingAndConfig database. If you're using a
named instance of SQL Server, use the Computer Name\Instance name format.

7. Select OK.

8. Repeat the previous steps for the registry values to reflect the new name of the
computer running SQL Server for the DWDataMart, OMDWDataMart,
CMDWDataMart, DWRepository, and DWStagingAndConfig databases.

DataMartSQLInstance

RepositorySQLInstance

StagingSQLInstance
OMDataMartSQLInstance
CMDataMartSQLInstance

Update the data sources on the reporting server


Use the following procedure to update data sources on the reporting server to point to
the new computer running SQL Server:

1. Sign in to the Service Manager reporting server, and start Reporting Services
Configuration Manager.

2. In the Reporting Services Configuration Connection dialog, connect to the correct


reporting server instance as noted in the section To identify the reporting server
and instance name used by data warehouse management server.

3. In the Reporting Services Configuration Manager list, select Report Manager URL.

4. On the Report Manager URL page, select the hyperlink that resembles
http://Servername/:portnumber/Reports to open the Reports home page in your

Internet browser.

5. On the home page, open the System Center folder, and then open the Service
Manager folder.

6. Open the list of Service Manager items, and select the DWDataMart data source.

7. In the Connection string box, the string resembles data source=<server


name>;initial catalog=DWDataMart . Replace the existing name of the computer

running SQL Server by typing the name of the new computer running SQL Server.

8. Go back to the previous Service Manager folder webpage, and select the
DWStagingAndConfig data source.

9. In the Connection string box, the string resembles data source=<server


name>;initial catalog= DWStagingAndConfig . Replace the existing name of the

computer running SQL Server by typing the name of the new computer running
SQL Server.

10. Go back to the previous Service Manager folder webpage and select the
ConfigurationManager data source.

11. In the Connection string box, the string resembles data source=<server
name>;initial catalog= CMDWDataMart . Replace the existing name of the computer
running SQL Server by entering the name of the new computer running SQL
Server.

12. Go back to the previous Service Manager folder webpage and select the
MultiMartDatasource data source.

13. In the Connection string box, the string resembles <root><source id='DWDataMart'
connectionString='Data Source=<Server name>;Initial

Catalog=DWDataMart;Integrated Security=True' /><source id='OMDataMart'


connectionString='Data Source=<Server name>;Initial

Catalog=OMDWDataMart;Integrated Security=True' /><source id='CMDataMart'


connectionString='Data Source=<Server name>;Initial

Catalog=CMDWDataMart;Integrated Security=True' /></root> . Replace the existing

name of the computer running SQL Server by entering the name of the new
computer running SQL Server.

14. Go back to the previous Service Manager folder webpage and select the
Operations Manager data source.

15. In the Connection string box, the string resembles data source=<server
name>;initial catalog= OMDWDataMart . Replace the existing name of the computer
running SQL Server by typing the name of the new computer running SQL Server.

16. Close your web browser.

Update the data sources for the Analysis Services


Use the following procedure to update the connection strings for the data sources on
the server that hosts the Analysis Services database:

1. Sign in to the server that hosts the SQL Server Analysis Services database.

2. Open SQL Server Management Studio.

3. In the Connect to Server dialog, in the Server Type list, select Analysis Services.

4. In the Server name list, enter the server name that you received as output from the
$OLAPServer.Server cmdlet. (You noted this information in the To identify the
OLAP Account used by the data warehouse management server section earlier in
this topic.)

5. In the Object Explorer pane, expand Databases, and then expand DWASDataBase.

6. Expand Data Sources, and then double-click CMDataMart.


7. In the Data Source Properties - CMDataMart dialog, select Connection string
Provider=SQLNCLI10.1;Data Source=servername;Integrated Security=SSPI;Initial
Catalog=CMDWDataMart.

8. Replace <servername> with the name of the computer running SQL Server that
hosts the CMDWDataMart database.

9. You need to re-enter the impersonation account password when you've completed
updating the Data Source server. Select the ellipsis button to the right of
ImpersonateAccount and then add the password in the Impersonation
Information dialog. Select OK to accept the changes.

10. Repeat the previous steps to update the connection strings for the DWDataMart
and OMDataMart data sources.

Start Service Manager Services on the data warehouse


management server
Use the following procedure to start the Service Manager services on the data
warehouse management server:

1. In the Run dialog, in the Open text field, enter services.msc, and select OK.

2. In the Services window, in the Services (Local) pane, locate the following three
services, and for each one, select Start:

a. System Center Data Access Service

b. Microsoft Monitoring Agent

c. System Center Management Configuration

Next steps
To learn about upgrading Service Manager, review Upgrade System Center 2012 R2 -
Service Manager to System Center - Service Manager.
Upgrade System Center Service
Manager
Article • 07/28/2023

This article provides the upgrade information for System Center 2019 - Service Manager
(SM)

Upgrade to System Center 2019 - Service


Manager
The following sections provide information about how to upgrade to System Center
2019 - Service Manager (SM).

2 Warning

The order in which you perform component upgrades is important. Failure to follow
the correct upgrade sequence might result in component failure for which no
recovery options exist. The affected System Center components are:

1. Orchestrator
2. Service Manager
3. Data Protection Manager
4. Operations Manager
5. Configuration Manager
6. Virtual Machine Manager
7. App Controller

You can only upgrade to System Center 2019 from System Center 2016 or 1801 or 1807.

) Important

It's assumed in this guide that you're performing an upgrade to an existing System
Center version. For information about installing System Center 2019 - Service
Manager on a computer where no previous version of Service Manager exists, see
deploying System Center - Service Manager.
Plan the upgrade to System Center 2019 -
Service Manager
This section outlines the procedures necessary to upgrade to System Center 2019.

An in-place upgrade from Service Manager 2016, 1801, 1807 is supported. An in-place
upgrade is an upgrade of all the Service Manager parts on the same hardware. Other
approaches, such as side-by-side upgrades or rolling upgrades, aren't supported.

Upgrading to Service Manager 2019 requires preparation. We recommend that you


install Service Manager in a lab environment and then replicate your production
databases into the lab. After that, perform an upgrade of the new installation in the lab.

Evaluation and Select versions


The release of System Center 2016 and 1801 - Service Manager was available in two
different versions:

Evaluation version (180-day time-out)


Select license version

The following upgrade paths are supported to Service Manager 2019.

Current Version Upgraded Version Status

System Center 2016/1801 - Service System Center 2019 - Service Evaluation period
Manager Eval Manager Eval remains unchanged

System Center 2016/1801/1807 - System Center 2019 - Service Licensed


Service Manager Select Manager Select

7 Note

Upgrading from an evaluation version of Service Manager to an evaluation version


of Service Manager 2019 does not extend the 180 days evaluation period.

Installation location
The default folder for installing Service Manager is \Program Files\Microsoft System
Center\Service Manager. However, when you perform the upgrade to Service Manager,
the software is installed in the folder that Service Manager previously used. If Service
Manager 2016/1801 was previously upgraded, then the following folder could be used:
\Program Files\Microsoft System Center\Service Manager

Hardware requirements for System Center 2019 - Service


Manager
All hardware requirements for System Center 2019 - Service Manager are fully
documented in Hardware Requirements.

Software requirements for System Center 2019 - Service


Manager
All software requirements for System Center 2019- Service Manager are fully
documented in Software Requirements.

Impact on custom development


With the System Center 2016 - Service Manager release, the product has moved to
support .NET 4.5.1. The tool set to support this movement to .NET 4.5.1 required to
break a few dependencies and has led to the movement of classes across the
assemblies.

Preventing MPSync jobs from railing


Before Upgrade

Description: A problem with the upgrade process causes MPSync job to fail after the
upgrade is complete. To prevent this problem from occurring before you upgrade, you
must run the SQL script below on the DWRepository database to get the actual SQL
scripts that drop and add a constraint on the primary key in fact tables in the
DWRepository database to correct the problem. Additionally, transform and load jobs
might also fail. This error can occur because of erroneous database grooming.

;WITH FactName
AS (
select w.WarehouseEntityName from etl.WarehouseEntity w
join etl.WarehouseEntityType t on w.WarehouseEntityTypeId =
t.WarehouseEntityTypeId
where t.WarehouseEntityTypeName = 'Fact'
),FactList
AS (
SELECT PartitionName, p.WarehouseEntityName,
RANK() OVER ( PARTITION BY p.WarehouseEntityName ORDER BY
PartitionName ASC ) AS RK
FROM etl.TablePartition p
join FactName f on p.WarehouseEntityName = f.WarehouseEntityName
)
, FactPKList
AS (
SELECT f.WarehouseEntityName, a.TABLE_NAME, a.COLUMN_NAME,
b.CONSTRAINT_NAME, f.RK,
CASE WHEN b.CONSTRAINT_NAME = 'PK_' + f.WarehouseEntityName THEN
1 ELSE 0 END AS DefaultConstraints
FROM FactList f
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE a ON f.PartitionName =
a.TABLE_NAME
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.CONSTRAINT_NAME =
b.CONSTRAINT_NAME AND b.CONSTRAINT_TYPE = 'Primary key'
)
, FactWithoutDefaultConstraints
AS (
SELECT a.*
FROM FactPKList a
LEFT JOIN FactPKList b ON b.WarehouseEntityName = a.WarehouseEntityName
AND b.DefaultConstraints = 1
WHERE b.WarehouseEntityName IS NULL AND a.RK = 1
)
, FactPKListStr
AS (
SELECT DISTINCT f1.WarehouseEntityName, f1.TABLE_NAME,
f1.CONSTRAINT_NAME, F.COLUMN_NAME AS PKList
FROM FactWithoutDefaultConstraints f1
CROSS APPLY (
SELECT '[' + COLUMN_NAME + '],'
FROM FactWithoutDefaultConstraints f2
WHERE f2.TABLE_NAME = f1.TABLE_NAME
ORDER BY COLUMN_NAME
FOR
XML PATH('')
) AS F (COLUMN_NAME)
)
SELECT 'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] DROP CONSTRAINT [' +
f.CONSTRAINT_NAME + ']' + CHAR(13) + CHAR(10) +
'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] ADD CONSTRAINT [PK_' +
f.WarehouseEntityName + '] PRIMARY KEY NONCLUSTERED (' + SUBSTRING(f.PKList,
1, LEN(f.PKList) -1) + ')' + CHAR(13) + CHAR(10)
FROM FactPKListStr f

Workaround 1: If you've already upgraded and you don't have problems with transform
or load job failures but do have a management pack deployment failure, then follow the
steps in the Before Upgrade section. In addition, after the default primary keys have
been restored, restart the failed management pack deployment in the Service Manager
console by navigating to the Data Warehouse workspace and then select Management
Pack.

Workaround 2: If you've upgraded and you've problems with transform or load job
failures, then determine if the
SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base management pack
exists in the DWStagingAndConfig database by running the following query.

select * from ManagementPack where mpname like


'%SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base%'

If the management pack doesn't exist, you need to restore your database to a state prior
to upgrade. To restore your database, perform the following steps.

1. Perform disaster recovery steps for the database backups.

2. Disable the MPSyncJob schedule.

3. Restore all the missing primary keys in the DWRepository manually. You can drop
and recreate the primary key using the SQL script from the Before Upgrade
section.

4. Restart the failed base management pack deployment using the Service Manager
console.

Testing the upgrade in a lab environment


We recommend that you test the upgrade to System Center 2019 - Service Manager in a
lab environment.

Upgrade order and timing


The order of your upgrades is important. Perform the upgrade steps in the following
order:

1. Back up your databases and your management packs. See the sections Backing Up
Service Manager Databases and Backing Up Unsealed Management Packs in the
Disaster Recovery Guide for System Center - Service Manager.

2. Start with the data warehouse management server. You will be stopping the data
warehouse jobs, and you won't be able to start them again until after you've
completed the upgrade.
3. After the upgrade to the data warehouse management server is complete, upgrade
the initial Service Manager management server. If you created more than one
Service Manager management server, the initial Service Manager management
server is the first one that you created.

4. Upgrade the Service Manager consoles and any additional Service Manager
management servers.

5. Restart the data warehouse jobs.

6. Deploy the new Self-Service Portal.

The timing of your upgrades is also important. After you upgrade your data warehouse
management server, you must update the Service Manager management server and
also deploy the new Self-Service Portal. After you upgrade your initial Service Manager
management server, you must be prepared to upgrade your Service Manager console or
Service Manager consoles, additional Service Manager management servers, and Self-
Service Portal at the same time.

Database impacts
With System Center 2019 - Service Manager, you've the option to install Operations
Manager and Configuration Manager data marts. Selecting this option will result in
additional space requirements on the hard disk drive for the two databases, as well as
associated file groups and log files.

Back up Service Manager before you upgrade


Before you start any upgrade, we recommend that you back up your Service Manager
and data warehouse databases and the encryption key. If you've already backed up your
databases and encryption key, you can continue to run the upgrade. Otherwise, review
the backup procedures in the Disaster Recovery Guide for System Center - Service
Manager before you continue the upgrade.

Register the Service Manager data warehouse


If you've installed a data warehouse management server in your environment, as part of
the upgrade process, you must be able to view the status of the data warehouse jobs.
You can't perform this task if you haven't registered with the Service Manager data
warehouse. If the Data Warehouse button isn't visible in the Service Manager console,
complete the procedure in Registering with the Service Manager Data Warehouse to
Enable Reporting in the Deployment Guide for System Center - Service Manager.
Encryption keys
When you've finished running Setup to either install or upgrade to System Center 2019 -
Service Manager, you're prompted to open the Encryption Backup or Restore Wizard. If
you've previously backed up the encryption keys, no additional action is required. If you
never backed up the encryption keys, use the Encryption Key Backup or Restore Wizard
to back up the encryption keys on the Service Manager management servers.

Next steps
Review Prepare remote SQL Server Reporting Services for upgrade to prepare your
environment if SSRS is remote from the data warehouse management server.
Prepare remote SQL Server Reporting
Services in a Service Manager upgrade
Article • 03/16/2023

When you installed System Center - Service Manager, you may have specified a different
computer to host Microsoft SQL Server Reporting Services (SSRS) than the computer that
hosted the data warehouse management server. If in your environment, SSRS is remote
from the data warehouse management server, you must use the following procedures to
prepare the computer that hosts SSRS for the upgrade:

Copy Microsoft.EnterpriseManagement.Reporting.Code.dll from the Service Manager


installation media to the computer that is hosting SSRS.

Add an Extension tag to the existing Data segment in the rsreportserver configuration
file on the same computer.

If you used the default instance of SQL Server, use Windows Explorer to drag
Microsoft.EnterpriseManagement.Reporting.Code.dll (which is located in the Prerequisites
folder on your Service Manager installation media) to the folder \Program Files\Microsoft
SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\Bin on the computer
that is hosting SSRS. If you didn't use the default instance, the path of the required folder
is \Program Files\Microsoft SQL Server\MSRS10.<INSTANCE_NAME>\Reporting
Services\ReportServer\Bin. In the following procedure, the default instance name is used.

Copy the
Microsoft.EnterpriseManagement.Reporting.Code.dll
file
1. On the computer that will host the remote SSRS, open an instance of Windows
Explorer.

2. Locate the folder \Program Files\Microsoft SQL


Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\Bin.

3. Start a second instance of Windows Explorer, locate the drive that contains the
Service Manager installation media, and then open the Prerequisites folder.

4. In the Prerequisites folder, select


Microsoft.EnterpriseManagement.Reporting.Code.dll and drag it to the folder that
you located in step 2.
Add an Extension tag to the rsreportserver.conf
file
1. On the computer that is hosting SSRS, locate the file rsreportserver.config in the
following folder:

\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting


Services\ReportServer

2. Using an XML editor of your choice (such as Notepad), open the rsreportserver.config
file.

3. Scroll through the rsreportserver.config file, and locate the <Data> code segment.
There's only one <Data> code segment in this file.

4. Add the following Extension tag to the <Data> code segment where all the other
Extension tags are:

<Extension Name="SCDWMultiMartDataProcessor"
Type="Microsoft.EnterpriseManagement.Reporting.MultiMartConnection,
Microsoft.EnterpriseManagement.Reporting.Code" />

5. Save the changes, and close the XML editor.

Next steps
To upgrade the Self Service portal for various possible configurations, review Upgrade
configurations for the Self-Service portal.
Set up a lab environment with
production data
Article • 03/16/2023

This article explains how to create a lab environment and populate it with production
data so that upgrades can be performed and tested before an actual upgrade in the
production environment. The procedures in this article show you how to configure
Service Manager in a lab environment with production data. You then perform an in-
place upgrade. It's important to follow the steps in this article in the order that they
appear.

In the production environment:

1. Install an additional management server in the production service manager


management group
2. Install any cumulative updates that you installed on the Primary Management
server on the Secondary Management Server.
3. Copy the Workflow Assembly Files
4. Disable Service Manager Connectors in the Production Environment
5. Disable Email Notifications in the Production Environment
6. Disable all workflows in the production environment that you don't want to be
running in the lab environment.
7. Stop Service Manager Services on the Secondary Management Server
8. Back Up the Production Service Manager Database
9. Enable Service Manager Connectors in the Production Environment
10. Enable Email Notifications in the Production Environment
11. Enable all workflows in the Production Service Manager environment that you
disabled in step 6.

In the lab environment:

1. Restore the Service Manager Database in the Lab Environment

2. Prepare the Service Manager Database in the Lab Environment

3. If possible, block communications to SQL from the Secondary Management server


to the production Service Manager Database server.

4. Start Service Manager Services on the Secondary Management Server

5. Verify that the lab environment works. Try to open the console on the Secondary
Management server and see if you can connect to the console. Confirm that the
Data Warehouse and Reporting don't appear. After you confirm that this works,
complete the rest of the steps.

6. Promote a Secondary Management Server in a Lab Environment

7. Enable the Connectors in the Lab Environment

7 Note

Don't enable or delete the Operations Manager alert connector in the lab
environment. This will cause the alert connector in the production
environment to fail.

8. If you want to test the email notification and incoming email functionality, use a
separate SMTP instance to send emails to eliminate flooding the inboxes of users
with test emails. To test the incoming email feature, you can point to a test share
and drop the eml files into this share when you're ready to test.

9. Install a New Data Warehouse Server in the Lab Environment

10. Register the Data Warehouse Server in the Lab Environment

11. Back up this lab environment; for example, back up the database and encryption
keys and VM Snapshots. This gives you the ability to recover in case the upgrade
fails.

12. If you're able to successfully complete all the previous steps, you're ready to
attempt the in-place upgrade.

13. Test everything. Document any discrepancies and fixes. Send feedback through the
MS Connect website.

14. Back up the Service Manager lab environment; for example, back up the database
and encryption keys and VM Snapshots. This gives you the ability to recover in
case the upgrade fails.

15. The lab environment is now ready for a Service Manager in-place upgrade.

Next steps
Prepare the production environment
Prepare a production environment for
upgrade
Article • 04/28/2023

Use the following procedures to prepare for System Center - Service Manager upgrade
by creating a production environment and preparing it for production data for the
purpose of upgrade testing.

Install an additional management server


The following procedure shows how to install an additional management server. You
must deploy the initial Service Manager management server and Service Manager
Database before deploying an additional management server.

 Tip

You must be a member of the Service Manager Administrators user role in order to
install an additional Service Manager management server.

When you install a secondary management server, data retention settings are reset.
Before you install a secondary management server, make a note of the data retention
settings. After you've installed the additional management server, adjust the data
retention settings to their original values.

Run setup
Follow these steps to run setup:

1. By using an account that has administrator rights and that is also a member of the
Service Manager Management group administrators, sign in to the computer that
will host the additional Service Manager Management server.

2. On the System Center - Service Manager installation media, double-click Setup.exe.

3. On the Microsoft System Center <version> Service Manager page, select Install a
Service Manager Management server.

4. On the Product registration page, enter the information in the boxes. In the
Product key boxes, enter the product key you received with Service Manager, or
alternatively, select Install as an evaluation edition (180 day trial)?. Read the
Microsoft Software License Terms, and, if applicable, select I have read,
understood, and agree with the terms of the license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location where the
additional Service Manager Management server will be installed.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.

If the prerequisite checker determines that the Microsoft Report Viewer


Redistributable hasn't been installed, select Install Microsoft Report Viewer
Redistributable. After the Microsoft Report Viewer Redistributable 2008
(KB971119) Setup wizard completes, select Check perquisites again.

7. On the Configure the Service Manager Database page, in the Database server
box, enter the name of the computer that hosts the Service Manager database that
you used for your initial Service Manager Management server, and then press TAB.
When the name of the instance displays in the SQL Server instance box, select Use
an existing database. For example, enter Computer 2 in the Database server box.

8. Select the Database list, select the database name for the Service Manager
database (the default name is ServiceManager), and select Next.

9. On the Configure the Service Manager Management group page, verify that the
management group name and management group administrators boxes have
been populated. Select Next.

10. On the Configure the Account for Service Manager Services page, select Domain
account, specify the user name, password, and domain for the account, and select
Test Credentials. After you receive a The credentials were accepted message,
select Next. For example, enter the account information for the domain user
SM_Acct, and select Next.

7 Note

The user name and password you provide here must be the same ones used
for the Service Manager account on the data warehouse management server.

11. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.
12. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates, and select Next.

13. On the Installation summary page, select Install.

14. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close.

Copy customized workflow assembly files


Use the following procedure to copy the workflow assembly files from the Service
Manager Installation folder on the primary management server to the secondary
management server that you created in the previous procedure.

Copy the workflow assembly files


Follow these steps to copy the workflow assembly files:

1. On the computer that is running the Service Manager Primary Server role, browse
to the Service Manager Installation folder for example, C:\Program Files\Microsoft
System Center\Service Manager copy the workflow files (workflow.dll).

2. On the computer that is running the Service Manager Secondary server; browse to
the Service Manager Installation folder; for example, C:\Program Files\Microsoft
System Center\Service Manager. Paste the copied workflow files into this folder.
You should overwrite any existing files.

7 Note

You must place the workflow assembly files in the Service Manager installation
folder. This is very important step if you want to test the custom workflows
that depend on workflow assembly files. Failure to copy these files would lead
to failed custom workflows in the lab environment.

Disable Service Manager connectors in the


production environment
Use the following procedure to disable the Service Manager connectors in the
production environment:
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Connectors.
3. In the Connectors pane, select the connector that you want to disable.
4. In the Tasks pane, under the connector name, select Disable.
5. In the Disable Connector dialog, select OK.

Disable email notifications in the production


environment
Use the following procedure to disable incoming and outbound email notifications in
the production environment:

Disable outbound email notifications

Follow these steps to disable outbound email notifications:

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Notifications, and select Channels.
3. In the Channels pane, select E-Mail Notification Channel.
4. In the Tasks pane, under E-Mail Notification Channel, select Properties to
open the Configure E-Mail Notification Channel dialog.
5. Clear the Enable e-mail notifications checkbox.

Stop Service Manager services on the


secondary management server
Use the following procedure to stop the Service Manager services:

Stop the Service Manager services


Follow these steps to stop the Service Manager services:

1. In the Run dialog, in the Open text field, enter services.msc, and select OK.
2. In the Services window, in the Services (Local) pane, locate the following three
services and for each one, and select Stop:
a. System Center Data Access Service
b. System Center Management
c. System Center Management Configuration
3. Open Windows Explorer.
4. Locate the folder \Program Files\Microsoft System Center\Service Manager.
5. Delete the Health Service State folder and all of its contents.

Back up the production Service Manager


database for future recovery
Use the following procedure to back up the production Service Manager database in
Microsoft SQL Server:

Back up the Service Manager database


Follow these steps to back up the Service Manager database:

1. After connecting to the appropriate instance of the Microsoft SQL Server Database
Engine, in Object Explorer, select the server name to expand the server tree.

2. Expand Databases, and depending on the database, either select a user database
or expand System Databases and select a system database.

3. Right-click the database, point to Tasks, and select Back Up. The Back Up Database
dialog appears.

4. In the Database list box, verify the database name. You can optionally select a
different database from the list.

5. You can perform a database backup for any recovery model (FULL, BULK_LOGGED,
or SIMPLE).

6. In the Backup type list box, select Full.

7 Note

After creating a full database backup, you can create a differential database
backup. For more information, see How to: Create a Differential Database
Backup (SQL Server Management Studio).

7. Optionally, you can select Copy Only Backup to create a copy-only backup. A
copy-only backup is a SQL Server backup that is independent of the sequence of
conventional SQL Server backups. For more information, see Copy-Only Backups.
7 Note

When the Differential option is selected, you can't create a copy-only backup.

8. For Backup component, select Database.

9. Either accept the default backup set name suggested in the Name text box, or
enter a different name for the backup set.

10. Optionally, in the Description text box, enter a description of the backup set.

11. Specify when the backup set will expire and can be overwritten without explicitly
skipping verification of the expiration data.

7 Note

For more information about backup expiration dates, see BACKUP (Transact-
SQL).

12. Choose the type of backup destination by selecting Disk or Tape. To select the
paths of up to 64 disk or tape drives containing a single media set, select Add. The
selected paths are displayed in the Backup to list box.

13. To view or select the advanced options, select Options in the Select a page pane.

14. Select an Overwrite Media option, by selecting either Back up to the existing
media set or Back up to a new media set, and erase all existing backup sets.

15. In the Reliability section, select either Verify backup when finished or Perform
checksum before writing to media, and then optionally select Continue on
checksum error. For more information, see Detecting and Coping with Media
Errors During Backup and Restore

Enable Service Manager connectors in the


production environment
Use the following procedure to enable the Service Manager connectors in the
production environment:

Enable a connector
Follow these steps to enable a connector:

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Administration, and select Connectors.
3. In the Connectors pane, select the connector that you want to enable.
4. In the Tasks pane, under the connector name, select Enable.

Enable email notifications in the production


environment
Use the following procedure to enable incoming and outbound email notifications in
the production environment:

Enable outbound email notifications

Follow these steps to enable outbound email notifications:

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Notifications, and select Channels.
3. In the Channels pane, select E-Mail Notification Channel.
4. In the Tasks pane, under E-Mail Notification Channel, select Properties to
open the Configure E-Mail Notification Channel dialog.
5. Select Enable e-mail notifications.

Next steps
Prepare the lab environment
Set up a lab environment for upgrade
testing
Article • 04/26/2023

Use the following procedures to prepare for Service Manager upgrade by creating a lab
environment and preparing it for production data for the purpose of upgrade testing.

Many of the procedures in this article are lengthy and might take a considerable amount
of time to complete. As long as you complete the procedures in order, you don't need
to complete them without stopping.

Restore the Service Manager database in the


lab environment
Use the following procedure to restore the production Service Manager database using
Microsoft SQL Server 2016 or later.

1. After connecting to the appropriate instance of the Microsoft SQL Server Database
Engine, in Object Explorer, select the server name to expand the server tree.
2. Expand Databases, and depending on the database, either select a user database
or expand System Databases, and select a system database.
3. Right-click the database, point to Tasks, and select Restore. The Back Up Database
dialog appears.
4. Select Database, which opens the Restore Database dialog.
5. On the General page, the name of the restoring database appears in the To
database list box. To create a new database, enter its name in the list box.
6. In the To a point in time text box, either retain the default (Most recent possible)
or select a specific date and time by selecting the browse button, which opens the
Point in Time Restore dialog. For more information, see How to: Restore to a Point
in Time (SQL Server Management Studio).
7. To specify the source and location of the backup sets to restore, select either From
database or From device.
8. In the Select the backup sets to restore grid, select the backups to restore. For
more information, see Restore Database (General Page).
9. To view or select the advanced options, select Options in the Select a page pane.
10. In the Restore options panel, choose one of the following options most
appropriate for your situation:

Overwrite the existing database


Preserve the replication settings

Prompt before restoring each backup

Restrict access to the restored database

For more information, see Restore Database (Options Page)

11. Optionally, you can restore the database to a new location by specifying a new
restore destination for each file in Restore the database files as. For more
information, see Restore Database (Options Page).
12. In the Recovery state panel, select one of the following options most appropriate
for your environment:

Leave the database ready to use by rolling back the uncommitted


transactions. Additional transaction logs cannot be restored. (RESTORE
WITH RECOVERY)

7 Note

Choose this option only if you're restoring all the necessary backups at
this time.

Leave the database non-operational, and do not roll back the uncommitted
transactions. Additional transaction logs can be restored. (RESTORE WITH
NORECOVERY)

Leave the database in read-only mode. Undo uncommitted transactions,


but save the undo actions in a standby file so that recovery effects can be
reverted. (RESTORE WITH STANDBY)

For more information, see Restore Database (Options Page).

Prepare the Service Manager database in the


lab environment
Use the following procedure to prepare the Service Manager database in the lab
environment. Perform this procedure on the computer that is hosting the Service
Manager database that is being used by the secondary management server, the
management server in your lab environment.

Configure the database


1. On the computer hosting the Service Manager database for the secondary
management server, select Start, select All Programs, select Microsoft SQL Server
2016, and select SQL Server Management Studio.

2. In the Connect to Server dialog, follow these steps:


a. In the Server Type list, select Database Engine.
b. In the Server Name list, select the server name for your Service Manager or data
warehouse databases.
c. In the Authentication list, select Windows Authentication, and select Connect.

3. In the Object Explorer pane, expand Databases, and select ServiceManager.

4. In the toolbar, select New Query.

5. In the center pane, enter the following commands, and select Execute.

sp_configure 'clr enabled', 1


go
reconfigure
go

6. In the center pane, remove the commands you entered in the previous step, enter
the following commands, and select Execute.

ALTER DATABASE ServiceManager SET SINGLE_USER WITH ROLLBACK IMMEDIATE

7. In the center pane, remove the commands you entered in the previous step, enter
the following commands, and select Execute.

ALTER DATABASE ServiceManager SET ENABLE_BROKER

8. In the center pane, remove the commands you entered in the previous step, enter
the following commands, and select Execute.

ALTER DATABASE ServiceManager SET MULTI_USER


Configure the service account
1. In the Object Explorer pane, expand Security, and then expand Logins.
2. Right-click Logins, and select New Login
3. Perform the following procedures in the Login - New wizard:

a. Select Search.

b. Enter the username (domain\username) for the service account for Service
Manager database in the lab environment, select Check Names, and select OK.

7 Note

If the Data Access Account is running as LocalSystem, use the format


<domain\computername$> in SQL Logins, where <computername> is the
name of the management server.

c. In the Select a page pane, select User Mapping.

d. In the Users mapped to this login area, in the Map column, select the row that
represents the name of the Service Manager database (ServiceManager is the
default database name).

e. In the Database role membership for: ServiceManager area, ensure that the
following entries are selected:

configsvc_users
db_accessadmin
db_datareader
db_datawriter
db_ddladmin
db_securityadmin
dbmodule_users
public
sdk_users
sql_dependency_subscriber

f. Select Ok

Configure Service Manager tables


1. In the Object Explorer pane, expand Databases, expand ServiceManager, and then
expand Tables.
2. Right-click dbo.MT_Microsoft$SystemCenter$ManagementGroup, and select Edit
Top 200 Rows.

3. In the center pane, locate the column


SQLServerName_43FB076F_7970_4C86_6DCA_8BD541F45E3A.

4. In the first row and second rows of this column, enter the computer name of the
computer hosting the Service Manager database in the lab environment. For
named instances, enter computer name\instance name.

5. Right-click dbo.
MT_Microsoft$SystemCenter$ResourceAccessLayer$SqlResourceStore, and select
Edit Top 200 Rows.

6. In the center pane, locate the column


Server_43FB076F_7970_4C86_6DCA_8BD541F45E3A.

7. In the first row of this column, enter the computer name of the computer hosting
the SQL Server for the Service Manager database in the lab environment. For
named instances, enter computer name\instance name.

8. Right-click LFX.DataSource, and select Edit Top 200 Rows.

9. In the center pane, locate the column DataSourceAddress.

10. In the first row of this column, locate the entry that starts with Data Source =
<server name>; Initial Catalog = ServiceManager; Persist Security Info=False.
Enter the name of the computer hosting SQL Server in the lab environment in
place of <server name>.

11. Right-click dbo.


MT_Microsoft$SystemCenter$ResourceAccessLayer$SdkResourceStore, and
select Edit Top 200 Rows.

12. In the center pane, locate the column


Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA.

13. In all the rows in this column, enter the name of the computer hosting the Service
Manager management server in the lab environment.

14. Right-click [dbo].


[MT_Microsoft$SystemCenter$ResourceAccessLayer$CmdbResourceStore], and
select Edit Top 200 Rows.
15. In all the rows, update the column
Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA, enter the name of the SQL
computer hosting the Service Manager database in the lab environment

16. In the toolbar, select New Query.

17. In the center pane, enter the following command, and select Execute.

Delete from
dbo.MT_Microsoft$SystemCenter$ResourceAccessLayer$DwSdkResourceStore

18. Close Microsoft SQL Server Management Studio.

Configure the lab Service Manager management server


Using Registry Editor, expand the following path and update
DatabaseServerName :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System
Center\2010\Common\Database

Edit the registry on the Service Manager


Management Server in the lab environment
Use the following procedure to edit the registry on the Service Manager management
server in the lab environment.

U Caution

Incorrectly editing the registry might severely damage your system; therefore,
before making changes to the registry, back up any valued data on the computer.

Edit the registry


1. On the computer hosting the Service Manager management server in the lab
environment, sign in to the computer as a user with administrative credentials.
2. On the Windows desktop, select Start, and select Run.
3. In the Run dialog, in the Open box, enter regedit, and select OK.
4. In the Registry Editor window, expand
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System
Center\2012\Common\Database.
5. In the right pane, double-click DatabaseServerName.
6. In the Edit String box, in the Value data box, enter the name of the computer
hosting the Service Manager database SQL Server in the lab environment. If you're
using a named instance of SQL Server, use the Computer Name\Instance name
format.
7. Select OK, and then close the Registry Editor.

Start Service Manager services on the


secondary management server
Use the following procedure to start the Service Manager services.

To start Service Manager services


1. On the Windows desktop, select Start, and select Run.
2. In the Run dialog, in the Open field, enter services.msc, and select OK.
3. In the Services window, in the Services (Local) pane, locate the following three
services and for each one, and select Start:

System Center Data Access Service


System Center Management
System Center Management Configuration

Promote a secondary management server in a


lab environment
Use the following procedure to promote the secondary management server.

1. On the secondary management server, do the following:


a. Close the Service Manager console.
b. On the Windows desktop, select Start, and select Run.
c. In the Run dialog, in the Open text field, enter services.msc, and select OK.
d. In the Services window, in the Services (Local) pane, locate the following three
services and for each one, and select Stop:

System Center Data Access Service


System Center Management
System Center Management Configuration

e. Leave the Services window open.


f. Open Windows Explorer. Locate the \Program Files\Microsoft System
Center\Service Manager folder.
g. In this folder, delete the Health Service State folder and all of its contents.
2. Do the following on the ServiceManager database on the Test SQL Server instance:
a. On the Windows desktop, select Start, point to Programs, point to Microsoft
SQL Server 2016, and select SQL Server Management Studio.
b. In the Connect to Database Engine dialog, follow these steps:
i. In the Server name box, enter the name of the server that hosts the
ServiceManager database.
ii. In the Authentication box, select Windows Authentication.
iii. Select Connect.
c. In the Object Explorer pane, expand Databases, and select ServiceManager.
d. On the toolbar, select New Query.
e. In the SQLQuery1.sql pane (center pane), enter the following, where <FQDN of
your server> is the FQDN of the management server that you're promoting:
EXEC p_PromoteActiveWorkflowServer '<FQDN of your server>'
On the toolbar, select Execute.
f. At the bottom of the SQLQuery1.sql pane (center pane), observe that Query
executed successfully is displayed.
g. Exit Microsoft SQL Server Management Studio.
3. Do the following on the secondary management server:
a. On the Windows desktop, select Start, and select Run.
b. In the Run dialog, in the Open field, enter services.msc, and select OK.
c. In the Services window, in the Services (Local) pane, locate the following three
services and for each one, select Start.

System Center Data Access Service


System Center Management
System Center Management Configuration

Your secondary management server is now the primary management server for the
management group.

Enable the connectors in the lab environment


Use the following procedure to enable the Service Manager connectors in the lab
environment. In this procedure, you won't be enabling the Operations Manager
connector.
2 Warning

Don't enable or delete the Operations Manager alert connector in the lab
environment. Doing so will cause the alert connector in the production
environment to fail.

Enable a connector
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Connectors.
3. In the Connectors pane, select the connector that you want to enable.
4. In the Tasks pane, under the connector name, select Enable.

Install a new data warehouse server in the lab


environment
Use the following procedure to install a new data warehouse server in the lab
environment.

Install a data warehouse management server and data


warehouse databases
1. Sign in to the computer by using an account that has administrative rights.

2. On the Service Manager installation media, double-click the Setup.exe file.

3. On the Microsoft System Center Service Manager 2016 page, select Install a
Service Manager data warehouse management server.

4. On the Product registration page, enter information in the boxes. In the Product
key boxes, enter the product key you received with Service Manager, or
alternatively, select Install as an evaluation edition (180 day trial)?. Read the
Microsoft Software License Terms, and, if applicable, select I have read,
understood, and agree with the terms of the license agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which the
Service Manager data warehouse management server will be installed.
6. On the System check results page, ensure that prerequisites passed or at least
passed with warnings, and select Next.

7. On the Configure data warehouse databases page, Service Manager checks the
computer you're using to see if it can host the data warehouse databases. For this
configuration, confirm that the database server is the computer on which you're
installing the data warehouse management server, and then select Next.

2 Warning

A warning message appears if you're using the default collation


(SQL_Latin1_General_CP1_CI_AS). Support for multiple languages in Service
Manager isn't possible when you're using the default collation. If later you
decide to support multiple languages using a different collation, you've to
reinstall SQL Server.

8. On the Configure the data warehouse management group page, follow these
steps:

a. In the Management group name box, enter a unique name for the group.

2 Warning

Management group names must be unique. Don't use the same


management group name when you deploy a Service Manager
management server and a Service Manager data warehouse management
server. Furthermore, don't use the management group name that is used
for Operations Manager.

b. Select Browse, enter the user account or group to which you want to give
Service Manager administrative rights, and select Next.

9. Service Manager will use the existing computer if SQL Server Reporting Services is
present. On the Configure the reporting server for the data warehouse page,
accept the defaults, and select Next.

10. On the Configure the account for Service Manager services page, select Domain
account, specify the user name, password, and domain for the account, and select
Test Credentials. After you receive a The credentials were accepted message,
select Next.
11. On the Configure the reporting account page, specify the user name, password,
and domain for the account, and select Test Credentials. After you receive a The
credentials were accepted message, select Next.

12. On the Diagnostic and usage data page, indicate your preference for sharing your
Service Manager diagnostic and usage data with Microsoft. As an option, select
Privacy statement for System Center Service Manager, and select Next.

13. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates, and select Next.

14. On the Installation summary page, select Install.

Validate a data warehouse management server


installation
1. On the computer hosting the data warehouse management server (the server you
ran Setup on), run services.msc, and verify that the following services have been
installed:

System Center Data Access Service


System Center Management
System Center Management configuration

2. On the computer hosting the data warehouse databases, select Start, point to
Programs, point to Microsoft SQL Server, and select SQL Server Management
Studio.
3. In the Connect to Server dialog, select the following:
a. In the Server Type list, select Database Engine.
b. In the Server Name list, select the server and instance for your Service Manager
data warehouse database. For example, select Computer 4.
c. In the Authentication list, select Windows Authentication, and select Connect.
4. In the Object Explorer pane, expand Databases.
5. Verify that the DWDataMart, DWRepository, and DWStagingAndConfig
databases are listed.

Register the data warehouse server in the lab


environment
Use the following procedure to register the newly installed data warehouse server with
the lab Service Manager environment.

Register a data warehouse


1. Sign in to the computer that hosts the Service Manager console. Use an account
that is a member of the Service Manager and data warehouse management
administrators group.

2. In the Service Manager console, select Administration.

3. In the Administration pane, expand Administration.

4. In the Administration view, in the Register with Service Manager's Data


Warehouse area, select Register with Service Manager Data Warehouse.

5. In the Data Warehouse Registration wizard, on the Before You Begin page, select
Next.

6. On the Data Warehouse page, in the Server name box, enter the fully qualified
domain name of the computer hosting the data warehouse management server,
and select Test Connection. If the test is successful, select Next.

7. On the Credentials page, you can accept the default entry in the Run as account
list, and select Next, or you can enter credentials from a user or group of your own
choosing.

) Important

The account you specify will be assigned administrative credentials on the


Service Manager management server and granted Read permission on the
Service Manager database. You can specify different credentials from other
Service Manager management groups when registering with the data
warehouse.

8. On the Summary page, select Create.

9. On the Completion page, when The data warehouse registration succeeded is


displayed, select Close.

10. A dialog states that the report deployment process hasn't finished. This is to be
expected. On the System Center Service Manager dialog, select OK.
11. In a few minutes, after closing the Data Warehouse Registration wizard, the Data
Warehouse button will be added to the Service Manager console. In the Service
Manager console, select the arrow at the lower right corner of the Service Manager
console buttons, and select Show More Buttons.

You can use a Windows PowerShell command to complete this task. For
information about how to use Windows PowerShell to register Service Manager
management groups with the data warehouse, see Add-SCDWMgmtGroup.

Validate the registration


1. On the computer hosting the data warehouse management server, start Windows
PowerShell with administrative credentials.

2. At the Windows PowerShell command prompt, enter the following commands, and
then press ENTER:

Set-ExecutionPolicy RemoteSigned
Import-Module .\Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1

3. Enter the following command, and then press ENTER.

Get-SCDWMgmtGroup

4. If the registration is successful, a table with two rows of data is displayed. One row
displays data for the data warehouse management group, and a second row
displays data for the Service Manager management group. If the registration fails,
only the data for the data warehouse management group is displayed.

Determine when the deployment is complete


Because you need to allow enough time for the management pack deployment process
to be completed, you'll have to determine when that process is complete. You can use
the following procedure in Service Manager to determine when the process is complete.

To determine when management pack deployment has completed


1. Start the Service Manager console.

2. In the Service Manager console, select Data Warehouse.

3. In the Data Warehouse pane, expand Data Warehouse, and select Data
Warehouse Jobs.

4. In the Data Warehouse Jobs pane, select MPSyncJob.

5. In the Tasks pane, under Synchronization, select Details.

6. In the MP Sync Job dialog, scroll to the right and examine the Status column.

7 Note

In the MP Sync Job dialog, select Status to alphabetically sort the status
column.

7. Scroll through the Status list. The management pack deployment process is
complete when Associated or Imported is listed in the status column for all of the
management packs. Ensure that there's no status of either Pending Association or
Failed in the status list. In the Data Warehouse Jobs pane, the status of the
MPSyncJob will have changed from Running to Not Started. This deployment
process can take up to two hours to complete.

8. To refresh the MP Sync Job dialog:


a. Press OK to close the dialog.
b. In the Tasks pane, in the Data Warehouse Jobs area, select Refresh.
c. In the Data Warehouse Jobs pane, select MPSyncJobs.
d. In the Tasks pane, under Synchronization, select Details.

9. After the management packs have been deployed (as determined in step 7),
ensure that the following five data warehouse jobs are displayed in the Data
Warehouse Jobs pane:

Extract_<Service Manager management group name>


Extract_<data warehouse management group name>
Load.Common
Transform.Common
MPSyncJob

10. If these five data warehouse jobs aren't displayed, perform the following
procedure:
a. In the Data Warehouse Jobs pane, select MPSyncJob.
b. In the Tasks pane, under Synchronization, select Resume.
c. Assess if management pack deployment has completed by returning to step 4
above.

Next steps
Run an upgrade
Post-upgrade tasks
Article • 04/28/2023

This article describes the tasks you should complete after upgrading System Center -
Service Manager.

Restart the Data Access service and workflows


If necessary, use the following procedures to restart the service and workflows.

Restart the Data Access service


Follow these steps to restart the Data Access service:

1. On the computer that hosts the data warehouse management server, on the
Windows desktop, select Start, and select Run.

2. In the Run dialog, in Open, enter services.msc, and select OK.

3. In the Services window, in the Services (Local) pane, right-click System Center
Data Access Service, and select Start.

Start Service Manager workflows


Follow these steps to start Service Manager workflows:

1. On the computer that hosts the Service Manager management server, on the
Windows desktop, select Start, and select Run.

2. In the Run dialog, in Open, enter services.msc, and select OK.

3. In the Services window, in the Services (Local) pane, right-click System Center
Management, and select Start.

Restart data warehouse jobs


After you upgrade the data warehouse management server, you might need to restart
the data warehouse (extraction, transformation, and load (ETL)) jobs. You can use the
following procedure to restart the data warehouse jobs. In this procedure, you enable
data warehouse job schedules by using Windows PowerShell cmdlets.
Restart data warehouse jobs
Follow these steps to restart data warehouse jobs:

1. On the computer that hosts the data warehouse management server, select Start,
point to Programs, point to Accessories, select Windows PowerShell, right-click
Windows PowerShell, and select Run as administrator.

2. Enter the following commands and then press Enter after each command.

7 Note

It's assumed in the following command examples that Service Manager was
installed in its default location on the C: drive. If necessary, change directories
to the location where you installed Service Manager.

cd 'C:\Program Files\Microsoft System Center <version>\Service Manager'

import-module
$PWD/Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1

Get-SCDWJob

Enable-SCDWJobSchedule -JobName Extract_<data warehouse management


group name>

Enable-SCDWJobSchedule -JobName Extract_<Service Manager management


group name>

Enable-SCDWJobSchedule -JobName Transform.Common


Enable-SCDWJobSchedule -JobName Load.Common

Enable-SCDWJobSchedule -JobName DWMaintenance

Enable-SCDWJobSchedule -JobName MPSyncJob

Start-SCDWJob -JobName MPSyncJob

The last command, Start-SCDWJob - JobName MPSyncJob, will enable the ETL
jobs to run.

Stop and then restart SSRS


After you perform an upgrade, use the following procedure to stop and then start SSRS.

Stop and then restart SSRS

Follow these steps to stop and then restart SSRS:

1. On the computer that hosts SSRS, on the Windows desktop, select Start, and select
Run.

2. In the Run dialog, enter services.msc, and select OK.

3. In the Services window, in the Services (Local) pane, right-click SQL Server
Reporting Services, and select Stop.

4. In the Services window, in the Services (Local) pane, right-click SQL Server
Reporting Services, and select Start.

Next steps
If needed, troubleshoot upgrade issues.
Troubleshoot upgrade issues
Article • 04/28/2023

This article helps you troubleshoot upgrade issues in System Center – Service Manager.

There are five phases of the upgrade where a failure might occur. The steps that you
take to recover from a failed upgrade depend on the phase in which the failure occurs:

Failure occurs during the prerequisite check.


Failure occurs during predicted checks.
Failure occurs in an unpredictable manner before permanent changes are made to
a management server.
Failure occurs in an unpredictable manner after permanent changes are made to a
management server.
Failure occurs in an unpredictable manner after permanent changes are made to
the database.

The upgrade might also fail as a result of Configuration service Startup timing out.

You can also work around configuration service startup issues after a failed upgrade.

Select the required tab for the steps to recover from a failed upgrade when the failure
occurs in an unpredictable manner:

During a prerequisite check

Before the installation of Service Manager begins, a prerequisite check is made for
certain requirements. If a condition is found in which Service Manager will continue
to function, you receive a warning. Warnings are identified with an explanation
point (!) in a yellow triangle. Conditions that have been identified as a Warning
won't prevent you from installing Service Manager.

If a condition is found that is an absolute requirement for Service Manager, a failure


indication appears. Failure indications are identified with an X in a red circle.

If either a warning or a failure indication appears, you can either cancel the
installation and make the necessary changes, or make the appropriate changes and
then select Check prerequisites again and continue with the installation. All failure
conditions must be corrected before the installation or upgrade can proceed.
Upgrade fails as a result of the Configuration
service startup timing out
On some computers, Service Manager Setup fails and rolls back if it can't start the
System Center Management Configuration service in a timely fashion. If this problem
occurs, you might see the following entries in the install log:

CAStartServices: Attempting to start service. OMCFG

CAStartServices: StartService failed. Error Code: 0x8007041D.

ConfigureSDKConfigService: CAStartServices failed. Error Code: 0x8007041D.


OMCFG

Error 0x8007041D indicates that the service didn't respond to the start or control
request in a timely fashion. In addition, the following event may be logged in the System
Event log:

Log Name: System


Source: Service Control Manager
Event ID: 7009
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Description:
A timeout was reached (30000 milliseconds) while waiting for the System
Center Management Configuration service to connect.

This problem occurs because a .NET Framework 2.0 managed assembly that has an
Authenticode signature takes longer than usual to load. The signature is always verified
when the .NET Framework 2.0 managed assembly that has an Authenticode signature is
loaded. In addition, the .NET Framework 2.0 managed assembly may take longer than
usual to load because of various other settings. For example, the .NET Framework 2.0
managed assembly may take longer than usual to load because of the network
configuration.

For more information about the cause of this problem, see Knowledgebase Article
936707 in the Microsoft Knowledge Base.
Work around configuration service startup
issues after a failed upgrade
There are two workaround procedures that you can use to try to resolve the issue in
which an upgrade to Service Manager fails as a result of Configuration service Startup
timing out. You can:

Disable signature verification on the computer that is running Setup.

Increase the service time-out setting on the computer that is running Setup.

Disable signature verification


Follow these steps to disable signature verification:

1. On the computer that is running Setup, edit the


Microsoft.Mom.ConfigServiceHost.exe.config file, which is located in the Program
Files\Microsoft System Center <version>\Service Manager folder.

2. In the <runtime> </runtime> section, add <generatePublisherEvidence


enabled="false"> .

3. Save the changes to the file.

4. Attempt the upgrade again.

Increase the service time-out setting


Follow these steps to increase the service time-out setting:

1. On the computer that is running Setup, create the following registry value to
increase the service time-out period:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
ServicesPipeTimeout
DWORD
200000

U Caution
Incorrectly editing the registry may severely damage your system. Before
making changes to the registry, you should back up any valued data on the
computer.

7 Note

You may have to increase this value further if the service still fails to start. The
value in this example is in milliseconds. For more information about the
registry key, see article 922918 in the Microsoft Knowledge Base.

2. Start the computer again.

3. Attempt the upgrade again.


Use management packs to add
functionality to Service Manager
Article • 03/16/2023

There are two types of management packs: sealed management packs and unsealed
management packs. A sealed management pack can't be modified, but an unsealed
management pack can be modified.

Unsealed management packs are used to extend Service Manager with the information
that you must have to implement all or part of a service management process. You can
use unsealed management packs to store the custom objects that you create. For
example, you can store the objects you create during your testing or evaluation process
in an unsealed management pack. Then, you can export that unsealed management
pack to a file and then import the file to another environment, such as a production
environment. You can also import the same management pack into multiple
environments to ensure configuration consistency across Service Manager deployments
and to increase efficiency.

7 Note

Only unsealed management packs can be reimported.

An unsealed management pack is an .xml file that contains classes, workflows, views,
forms, reports, and knowledge articles. Items such as groups, queues, tasks, templates,
connectors, and list items are stored in a management pack, but items such as incidents,
change requests, computers, and other instances of classes aren't stored in a
management pack.

By default, Service Manager contains several pre-imported, sealed management packs


that enable core Service Manager features, such as incident management and change
management. Also, by default, Service Manager contains the Default Management Pack
management pack, in which you can store new items that you create. Additionally,
Service Manager contains several pre-imported, unsealed management packs that
enable optional features. You can delete unsealed management packs, which might
result in the loss of some views, rules, or lists. However, the removal of these optional
features won't prevent Service Manager from functioning. You should consider
exporting a management pack before you delete it. You can import the management
pack later if you need the optional features in a management pack that you deleted.
To use a management pack, import it into Service Manager. The management pack is
stored in a .xml, .mp, or a .mpb file that you can import by using the Service Manager
console.

For more information about management packs key concepts, management packs best
practices, and other management pack related articles, see Management Packs: Working
with Management Packs.

Create a management pack file


You can use the following procedures to create a management pack file in Service
Manager. After you create the management pack file, you can use it to store objects that
you create.

For more information about how to create and customize management packs, see
Management Packs: Working with Management Packs.

To create a management pack file


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Management


Packs.

3. In the Tasks pane, under Management Packs, select Create Management Pack.

4. In the Create Management Pack dialog, enter a name, such as Sample


Management Pack, and then enter a description for the new management pack.
Select OK.

To validate the creation of a management pack file


In the Service Manager console, open the Management Packs view, and verify that
the new management pack appears in the Management Packs pane.

You can use Windows PowerShell commands to complete these tasks, as follows:

For information about how to use Windows PowerShell to create a new


management pack, see New-SCSMManagementPack.

For information about how to use Windows PowerShell to seal a management


pack, preventing it from being modified, see Protect-SCSMManagementPack.
For information about how to use Windows PowerShell to remove management
packs, see Remove-SCSMManagementPack.

Export a management pack


After you create a management pack in Service Manager, you can export the unsealed
management pack as a file to back up any customizations in the management pack. The
exported management pack is a valid XML-formatted file. After you export an unsealed
management pack, you can later import it to restore the objects that the management
pack contains.

When you export a sealed management pack, from the Service Manager console or by
using the Windows PowerShell cmdlet Export-SCSMManagementPack, Service Manager
generates an equivalent, unsealed management pack and stores it as a .XML file on the
hard drive. You can then edit this management pack file to increase the version of the
management pack, and reseal it so it can be reimported into Service Manager.

Use the following procedures to export an unsealed management pack and then
validate the export.

To export a management pack


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Management


Packs.

3. In the Management Packs pane, select the management pack that you want to
export.

4. In the Tasks pane, under the name of the management pack that you want to
export, select Export.

5. In the Browse For Folder dialog, select a location for the file, and select OK.

7 Note

You can't change the default name of the management pack file.

To validate the export of a management pack


In Windows Explorer, ensure that you can locate the management pack file.
You can use Windows PowerShell commands to complete this task. For information
about how to use Windows PowerShell to export a management pack as a valid XML-
formatted file that you can later import into Service Manager or Operations Manager,
see Export-SCSMManagementPack.

Import a management pack


Before you can use a management pack in Service Manager, you must import the
management pack by using one of the following methods:

Use the Service Manager console, as described in this article.

Use the Import-SCSMManagementPack cmdlet from the Service Manager module


for Windows PowerShell. For more information about this cmdlet, see Import-
SCSMManagementPack.

When you reimport a sealed management pack, the version of the new management
pack must be greater than the version of the initial management pack. The imported,
sealed management pack must pass backward-compatibility verification, and then the
objects of the new management pack and the objects of the initial management pack
are merged. When you reimport an unsealed management pack, the objects from the
new management pack overwrite the objects from the initial management pack.

If the management pack that you want to import depends on other management packs,
multi-select the dependent management packs and import them in a single operation.
Service Manager will import the management packs in the correct dependency order.

Use the following procedure to import a single management pack, or a management


pack bundle (.mpb file name extension), by using the Service Manager console.

To import a management pack by using the Service


Manager console
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Management


Packs.

3. In the Tasks pane, under Management Packs, select Import.

4. In the Select Management Packs to Import dialog, select the management pack
file, and select Open.
5. In the Import Management Packs dialog, select Add.

6. After you've added all the management packs that you want to import, select
Import, and select OK.

To validate the import of a management pack


In the Service Manager console, select the Management Packs view, and ensure
that the intended management packs appear in the Management Packs list.

You can use Windows PowerShell commands to complete these and other related
tasks, as follows:

For information about how to use Windows PowerShell to import a management


pack, see Import-SCSMManagementPack.

For information about how to use Windows PowerShell to test the validity of a
management pack, see Test-SCSMManagementPack.

For information about how to use Windows PowerShell to retrieve objects that
represent management packs that have been imported, see Get-
SCSMManagementPack.

Import the Operations Manager Alert Cube


Management Pack
By default, Service Manager doesn't automatically import the System Center Alert
Management Cube management pack when you register Operations Manager as a data
source.

Instead, you must manually create a data source for Operations Manager. For more
information, see How to Register the System Center Data Warehouse to Operations
Manager. Afterward, use the following procedure to import the management pack.

To import the Operations Manager alert cube


management pack
1. In the Service Manager console, select Data Warehouse, select Management
Packs, and confirm that System Center Datawarehouse Operations Manager
Library is listed.
2. On the Data Warehouse Management Server, enter the following Windows
PowerShell commands to manually import the management pack. (This example
assumes that Service Manager is on drive C and that you installed Service Manager
using the default path).

cd 'C:\Program Files\Microsoft System Center\Service Manager 2016


R2\PowerShell'
Import-Module .\System.Center.Service.Manager.psd1
Import-SCSMManagementPack ..\AlertCube.mpb

Next steps
Use connectors to import data into Service Manager.
Use connectors to import data into
Service Manager
Article • 03/16/2023

You can use System Center - Service Manager connectors to import data as
configuration items from Active Directory Domain Services (AD DS), System Center
Configuration Manager, System Center Orchestrator, System Center Virtual Machine
Manager, and System Center Operations Manager. In addition, you can import alerts
from Operations Manager, and you can configure these alerts to automatically generate
incidents in Service Manager. You can also import data from comma-separated value
(CSV) files into the Service Manager database.

Effects of deleting a connector on


configuration items
Many of the configuration items that are found in the Service Manager database are the
result of the data that is imported using connectors. Therefore, if a connector is deleted,
the configuration items that are associated with that connector will also be deleted,
except where the configuration item is related to an active incident or change request. If
more than one connector defines a configuration item, the configuration item will be
deleted when all of the contributing connectors are deleted.

If you're creating a new connector to replace an existing connector, create the new
connector first, and then synchronize the new connector before deleting the old
connector.

 Tip

You can use a Windows PowerShell command to remove a connector from


Service Manager. For more information, see Remove-SCSMConnector.

Next steps
Learn how to import data from Active Directory Domain Services.
Learn how to import data and alerts from Operations Manager.
Learn how to import data from Configuration Manager.
Import data from Active Directory
Domain Services
Article • 07/28/2023

The Service Manager database in Service Manager contains information about your
enterprise, and it's used by all the parts of your service management structure. You can
use an Active Directory connector to add users, groups, printers, and computers (and
only these object types) as configuration items into the Service Manager database.

7 Note

If the same user name exists in two different organizational units (OUs) within the
Active Directory domain, Service Manager can't import both user accounts, and an
event is logged in the System Center Operations Manager application log.

In addition, when you configure an Active Directory connector to import data from an
Active Directory group, you can select an option to automatically add users from the
Active Directory group. When they're selected, any users that are added to the Active
Directory group will be automatically added to the Service Manager database. If those
users are removed from the Active Directory group, they'll remain in the Service
Manager database; however, they'll reside in the Deleted Items group.

When you've created an Active Directory connector, Select objects in the connector
can't be updated. Instead, you create security groups in Active Directory that map to
User Roles in Service Manager. For example, you can create a Security Group in Active
Directory Domain Services (AD DS) named Incident Resolvers. In Service Manager, you
can assign this security group to the Incident Resolvers user role. When you create the
Active Directory connector and you select Automatically add users of AD Groups
imported by this connector, when a user who is a member of the Incident Resolvers
security group starts the Service Manager console, they'll be granted Incident Resolver
rights and permissions.

If you're importing data from several OUs or subdomains, you've the option of creating
a Lightweight Directory Access Protocol (LDAP) query that specifies computers, printers,
users, or user groups to import with the connector. For example, an LDAP filter of all
objects that are in either Dallas or Austin and that have the first name of John looks like
(&(givenName=John) (|(l=Dallas) (l=Austin))) . You can test your queries, and all errors
must be corrected before you can configure the Active Directory connector. For more
information about LDAP queries, see Search Filter Syntax.
If you must later perform maintenance operations on the Service Manager database,
you can temporarily disable the connector and suspend the importation of data. Later,
you can resume the importation of data by re-enabling the connector.

When you import a large number of users from AD DS) or from Configuration Manager,
CPU utilization might increase to 100 percent. You'll notice this on one core of the CPU.
For example, if you import 20,000 users, CPU utilization might remain high for up to an
hour. You can mitigate this issue by creating connectors and importing the users into
Service Manager before you deploy the product in your enterprise and by scheduling
connector synchronization during off hours. Installing Service Manager on a computer
that has a multi-core CPU also minimizes the impact of importing a large number of
users.

Create an Active Directory connector


You can use the following procedures in Service Manager to create, validate, and
confirm the status of an Active Directory connector to import objects from Active
Directory Domain Services (AD DS).

7 Note

The Active Directory (AD) connector has been improvised to synchronize with a
specific domain controller. You may specify the Domain Controller in the LDAP
query of the Active Directory connector.

To create an Active Directory connector and to import


objects from AD DS
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Tasks pane, under Connectors, select Create Connector, and select Active
Directory Connector.

4. Complete these steps in the Active Directory Connector Wizard:

a. On the Before You Begin page, select Next.

b. On the General page, in the Name box, enter a name for the new connector.
Ensure that the Enable this connector checkbox is selected, and select Next.
c. On the Domain or organizational unit page, select Use the domain: domain
name. Or select Let me choose the domain or OU, and then select Browse to
choose a domain or an organizational unit (OU) in your environment.

d. In the Credentials area, select New.

e. In the Run As Account dialog, in the Display name box, enter a name for the
Run As account. In the Account list, select Windows Account. Enter the
credentials for an account that has rights to read from AD DS, and select OK. On
the Domain or organizational unit page, select Test Connection.

7 Note

Special characters (such as the ampersand [&]) in the User Name box
aren't supported.

f. In the Test Connection dialog, ensure that The connection to the server was
successful is displayed, and select OK. On the Domain or organizational unit
page, select Next.

g. On the Select objects, do the following:

i. Select All computers, printers, users, and user groups to import all items or,

ii. Select Select individual computers, printers, users or user groups to import
only the selected items or,

iii. Select Provide LDAP query filters for computers, printers, users, or user
groups if you want to create your own Lightweight Directory Access Protocol
(LDAP) query.

If you want new users that are added to any groups you import to be added
automatically to Service Manager, select Automatically add users of AD Groups
imported by this connector, and select Next.

h. On the Schedule page, in the Synchronize list, set the frequency and time of
synchronization, and select Next.

i. On the Summary page, ensure that the settings are correct, and select Create.

j. On the Completion page, ensure that you receive the following confirmation
message:

Active Directory connector successfully created.


Then, select Close.

7 Note

Depending on the amount of data that is imported, you might have to wait
for the import to be completed.

To validate the creation of an Active Directory connector


1. In the Connectors pane, locate the Active Directory connector that you created.
You might have to wait for a minute before the connector appears.

2. In the Connectors pane, review the Status column for a status of Finished Success.

3. In the Configuration Items pane, expand Configuration Items. Expand Computers


and All Windows Computers, and verify that the intended computers from AD DS
appear in the All Windows Computers pane. Expand Printers, expand All Printers,
and then verify that the intended printers from AD DS appear in the All Printers
pane.

4. In the Service Manager console, select Configuration Items. In the Configuration


Items pane, select Users, and then verify that the intended users and user groups
from AD DS appear in the Users pane.

To confirm the status of an Active Directory connector


View the columns in the Connector pane; the columns contain information about
the start time, the finish time, the status, and the percentage of imported
configuration items.

You can use a Windows PowerShell command to create a new Service Manager
Active Directory connector. For information about how to use Windows PowerShell to
create a new Service Manager Active Directory connector, see New-SCADConnector.

Synchronize an Active Directory Connector


To ensure that the Service Manager database is up to date, the Active Directory
connector synchronizes with Active Directory Domain Services (AD DS) every hour after
the initial synchronization. However, you can use the following procedure to manually
synchronize the connector and validate that it's synchronized.
To manually synchronize an Active Directory connector
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Active Directory connector that you want to
synchronize.

4. In the Tasks pane, under the name of the connector, select Synchronize Now.

7 Note

Depending on the amount of data that is imported, you might have to wait
for the import to be completed.

To validate that an Active Directory connector


synchronized
1. In the Service Manager console, select Configuration Items.

2. In the Configuration Items pane, expand Printers, and select All Printers. Verify
that any new printers in AD DS appear in the middle pane.

3. Expand Computers, and select All Windows Computers. Verify that any new
computers in AD DS appear in the middle pane.

4. In the Service Manager console, select Configuration Items.

5. In the Configuration Items pane, select Users. Verify that any new users and
groups in AD DS appear in the middle pane.

Disable and enable an Active Directory


connector
You can use the following procedure to disable or enable an Active Directory connector
in Service Manager and validate its change in status.

To disable an Active Directory connector


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Active Directory connector that you want to
disable.

4. In the Tasks pane, under the connector name, select Disable.

5. In the Disable Connector dialog, select OK.

To enable an Active Directory connector


1. In the Service Manager console, select Administration, and select Connectors.

2. In the Connectors pane, select the Active Directory connector that you want to
enable.

3. In the Tasks pane, under the connector name, select Enable.

4. In the Enable Connector dialog, select OK.

To validate the status change of an Active Directory


connector
1. After you enable or disable an Active Directory connector, wait for about 30
seconds. Then, in the Service Manager console, select Administration, and select
Connectors.

2. In the middle pane, locate the connector for which you've changed status, and
then verify the value in the Enabled column.

You can use Windows PowerShell commands to complete these tasks and other
related tasks, as follows:

For information about how to use Windows PowerShell to start a Service Manager
connector, see Start-SCSMConnector.

For information about how to use Windows PowerShell to retrieve connectors that
are defined in Service Manager and view their status, see Get-SCSMConnector.

For information about how to use Windows PowerShell to update properties of a


Service Manager connector, see Update-SCSMConnector.

Import data from other domains


You can import data from domains other than the domain in which Service Manager
resides. For example, Service Manager is installed in domain A (where the fully qualified
domain name [FQDN] is a.woodgrove.com), and you want to import data from domain
B (where the FQDN is b.woodgrovetest.net). In this scenario, you must think about how
to specify the data source path and how to specify the Run As account.

In domain B, either identify an existing service account or create a new one for this
purpose. This service account must be a domain account and must be able to read from
Active Directory Domain Services.

Next, in Service Manager, create a new Active Directory connector in the Active
Directory Connector Wizard. Follow these steps on the Domain or organizational unit
page.

To specify the data source path and Run As account


1. Use the appropriate method according to where the domains are located:

If the two domains are in the same forest, in the Server Information area,
select Let me choose the domain or OU, and select Browse to select the
domain and organizational unit (OU).

If the two domains are in different forests, in the Server Information area,
select Let me choose the domain or OU, and then enter the domain and OU
in the box. For example, enter LDAP://b.woodgrovetest.net/OU=OU
Name,DC=b,DC=woodgrovetest,DC=net.

2. In the Credentials area, select New.

3. In the Run As Account dialog, in the User name, Password, and Domain boxes,
enter the credentials for the service account from the b.woodgrovetest.net domain.

7 Note

If the two domains are in different forests, you must enter the domain name
in the User name box. For example, enter b.woodgrovetest.net\UserName .

Next steps
Lean about how to Import data and alerts from Operations Manager.
Import data and alerts from Operations
Manager into Service Manager
Article • 03/16/2023

If your organization uses System Center Operations Manager to monitor systems in your
enterprise, the agents that are deployed gather information about configuration items
that are discovered, and, as problems are detected, System Center Operations Manager
generates alerts. Two connectors for Operations Manager are available in Service
Manager: the configuration item (CI) connector that imports objects that are discovered
by Operations Manager into the Service Manager database, and an alert connector that
can create incidents based on alerts.

System Center Operations Manager collects information about many different types of
objects, such as hard disk drives and Web sites. To import objects that are discovered by
Operations Manager, Service Manager requires a list of class definitions for these
objects; the list of definitions is in the System Center Operations Manager management
packs. Therefore, you must import some System Center Operations Manager
management packs into Service Manager. When you install Service Manager, a set of
System Center Operations Manager management packs for common objects and the
required Windows PowerShell scripts are copied to your Service Manager installation
folder. If you've installed additional management packs in Operations Manager, and you
want to add the data from those additional management packs to Service Manager, you
can modify the configuration item (CI) connector to add the additional management
packs.

The Microsoft Azure management pack for Operations Manager is supported in this
release of Service Manager. This means that if an alert from Microsoft Azure is
generated in Operations Manager, Service Manager will recognize the alert and an
incident can be created.

Import management packs for Operations


Manager configuration item connectors
For the System Center Operations Manager configuration item (CI) connector to
function correctly, you've to import a set of management packs into Service Manager.
The management packs and the Windows PowerShell script that you need to import the
management packs are in the Service Manager installation folder. The default
installation folder is \Program Files\Microsoft System Center\Service Manager
<version>\Operations Manager Management Packs and System Center - Operations
Manager Management Packs. Use the following procedures to import the management
packs into Service Manager.

To import Operations Manager management packs for an


Operations Manager CI connector
1. On the computer that is hosting the Service Manager management server, on the
Windows desktop, select Start, point to Programs, point to Windows PowerShell,
right-click Windows PowerShell, and select Run as administrator.

2. In Windows PowerShell, enter the following command, and then press ENTER:

Get-ExecutionPolicy

3. Review the output and note the current execution policy setting.

4. Enter the following commands, and then press ENTER after each command:

Set-ExecutionPolicy Unrestricted

Set-Location \"Program Files\Microsoft System Center \


<version\>\Service Manager\Operations Manager Management Packs"

5. Type the following command, and then press ENTER:

.\installOMMPs.ps1

This command starts the Windows PowerShell script that installs the management
packs. Wait for the management packs to be imported.

6. Change the execution policy back to the value that you noted in step 3. For
example, enter the following command to set the execution policy to Restricted,
and then press ENTER:
Set-ExecutionPolicy Restricted

7. To exit Windows PowerShell, enter the following command, and then press ENTER:

Exit

To import Operations Manager management packs for an


Operations Manager CI connector
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Management


Packs.

3. In the Tasks pane, under Management Packs, select Import.

4. In the Select Management Packs to Import box, point to the drive where Service
Manager is installed, and then point to Program Files\Microsoft System
Center\Service Manager <version>\Operations Manager <version> Management
Packs.

5. To the right of the File name box, select the file type MP files (*.mp).

6. In the list of files, select all of the management packs, and select Open.

7. In Import Management Packs, select all of the management packs, and select
Import.

8. When the import process is complete, the message The management pack was
imported successfully will appear.

9. Select OK.

Create an Operations Manager connector


In Service Manager, there are two types of connectors for Operations Manager. You use
the first type of connector, the alert connector, to automatically generate incidents that
are based on Operations Manager alerts. You use the second type of connector, the
configuration item (CI) connector, to import discovered objects from Operations
Manager as configuration items into the Service Manager database. You can use the
following procedures to create both connectors, validate them, and confirm their
creation.

7 Note

For the Operations Manager CI connector to function correctly, you've to import a


set of management packs into Service Manager.

Alerts that are generated by Operations Manager and that are sent to Service Manager
don't contain user information. Therefore, when you open an incident in Service
Manager, the Affected User box will be empty. You won't be able to save the incident
form until you select an affected user. We recommend that you create a special user in
Service Manager specifically for this purpose. For more information about how to create
a special user, see How to Manually Create Configuration Items. This user is the user that
you'll assign to the Affected User field for all the incidents created by Operations
Manager.

You have the option of defining Service Manager templates that run when alerts of
certain types are received. If you decide to add an alert routing rule, you can configure
Service Manager to use a particular template based on alert criteria such, as priority or
severity, as described in the following procedure.

There are two phases for creating the Alert connector. The first part involves creating the
Alert connector on the Service Manager management server. The second part requires
that you start the Operations Manager console and set up a subscription for the newly
created connector. The subscription you create must be unique for the Alert connector;
no connector that is created to point to Operations Manager should have a subscription
that overlaps with another Operations Manager internal connector. Both phases are
described in the following procedure.

To create an Operations Manager alert connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Tasks pane, under Connectors, select Create Connector, and select
Operations Manager Alert Connector.

4. Complete the following steps to complete the Operations Manager Alert


Connector Wizard:
a. On the Before You Begin page, select Next.

b. On the General page, in the Name box, enter a name for the new connector.
Ensure that the Enable checkbox is selected, and select Next. Make a note of
this name; you'll need this name in step 7 of this procedure.

c. On the Server Details page, in the Server name box, enter the name of the
server that is hosting the Operations Manager root management server. Under
Credentials, select New.

d. In the Run As Account dialog, in the Display name box, enter a name for this
Run As account. In the Account list, select Windows Account.

e. In the User Name, Password, and Domain fields, enter the credentials for the
Run As account, and select OK.

f. On the Server Details page, select Test Connection. If you receive the following
confirmation message, select OK, and select Next:

The connection to the server was successful.

g. On the Alert Routing Rules page, select Add.

h. In the Add Alert Routing Rule dialog, create a name for the rule, select the
template that you want to use to process incidents created by an alert, and then
select the alert criteria that you want to use. Select OK, and select Next.

i. On the Schedule page, select Close alerts in Operations Manager when


incidents are resolved or closed or Resolve incidents automatically when the
alerts in Operations Manager are closed, select Next, and select Create.

5. Start the Operations Manager console.

6. In the Administration pane, select Product Connectors, and select Internal


Connectors.

7. In the Connectors pane, select the name of the alert connector.

8. In the Actions pane, select Properties.

9. In the Alert Sync: name of connector dialog, select Add.

10. In the Product Connector Subscription Wizard dialog, on the General page, in the
Subscription Name box, enter the name for this subscription. For example, enter
All Alerts, and select Next.
11. On the Approve groups page, select Next.

12. On the Approve targets page, select Next.

13. On the Criteria page, select Create.

14. In the Alert Sync:name of connector dialog, select OK.

To validate the creation of an Operations Manager alert


connector
Confirm that the connector you created is displayed in the Service Manager
console in the Connectors pane.

Confirm that incidents are created in Service Manager from alerts in Operations
Manager.

To create an Operations Manager CI connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Tasks pane, under Connectors, select Create Connector, and select
Operations Manager CI Connector.

4. Complete the following steps to complete the Operations Manager CI Connector


Wizard:

a. On the General page, in the Name box, enter a name for the new connector.
Ensure that the Enable checkbox is selected, and select Next.

b. On the Server Details page, in the Server name box, enter the name of the
server that is hosting the Operations Manager root management server.

c. Use one of the following methods to enter credentials:

Under Credentials, select the Run As account you created for the alert
connector, and then go to step 4d.

Under Credentials, select New. In the User name, Password, and Domain
boxes, enter the credentials for the Run As account, and select OK.

d. On the Server Details page, select Test Connection. If you receive the following
confirmation message, select OK, and select Next:
The connection to the server was successful.

e. On the MP Selection page, select Select all, or select the management packs
that define the configuration items you want to import, and select Next.

f. On the Schedule page, select Next, and select Create.

To validate the creation of an Operations Manager CI


connector
Confirm that the objects that Operations Manager discovered are listed as
configuration items in Service Manager.

To confirm the status of an Operations Manager


connector
View the columns in the Connector pane; the columns contain information about
the start time, the finish time, the status, and the percentage of import completion.

You can use a Windows PowerShell command to complete these tasks, as follows:

For information about how to use Windows PowerShell to create a new Operations
Manager alert connector in Service Manager, see New-SCOMAlertConnector.

For information about how to use Windows PowerShell to create an alert rule to be
used with an Operations Manager alert connector in Service Manager, see New-
SCSMAlertRule.

For information about how to use Windows PowerShell to create a new Operations
Manager CI connector in Service Manager, see New-
SCOMConfigurationItemConnector.

For information about how to use Windows PowerShell to retrieve connectors that
are defined in Service Manager and to view their status, see Get-SCSMConnector.

Synchronize an Operations Manager connector


When you create an Operations Manager alert connector for Service Manager, it polls
Operations Manager every 30 seconds. When you create an Operations Manager
configuration item (CI) connector, it synchronizes data from Operations Manager every
day at the time you specified in the configured schedule. However, you can use the
following procedure to manually synchronize either type of connector.
7 Note

The Start Time and Finish Time values aren't updated when an alert connector is
synchronized. These values are only updated when alert data is transferred between
Operations Manager and Service Manager.

To manually synchronize an Operations Manager


connector
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Operations Manager connector that you want
to synchronize.

4. In the Tasks pane, under the connector name, select Synchronize Now.

5. In the Synchronize Now dialog, select OK.

To validate Operations Manager connector


synchronization
1. In the Service Manager console, select Configuration Items.

2. In the Configuration Items pane, expand Computers, and select All Windows
Computers. Verify that any new computers that were discovered in Operations
Manager appear in the All Windows Computers pane.

Disable and enable an Operations Manager


connector
You can use the following procedures to disable or enable a System Center Operations
Manager connector for Service Manager and validate the changes.

For example, after you configure an Operations Manager connector, if you must perform
maintenance operations on the Service Manager database, you can temporarily disable
the connector and suspend the data import. You can resume the data import by re-
enabling the connector.
For more information about how to delete a product connector from System Center
Operations Manager, see Removing an Old Product Connector on Kevin Holman's
System Center blog.

To disable an Operations Manager connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Operations Manager connector that you want
to disable.

4. In the Tasks pane, under the connector name, select Disable.

5. In the Disable Connector dialog, select OK.

To enable an Operations Manager connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Operations Manager connector that you want
to enable.

4. In the Tasks pane, under the connector name, select Enable.

5. In the Enable Connector dialog, select OK.

To validate the status change of an Operations Manager


connector
1. Wait 30 seconds. Then, in the Service Manager console, select Administration, and
select Connectors.

2. In the Connectors pane, locate the connector for which you've changed the status,
and verify the value in the Enabled column.

You can use Windows PowerShell commands to complete these tasks and other
related tasks, as follows:

For information about how to use Windows PowerShell to start a Service Manager
connector, see Start-SCSMConnector.
For information about how to use Windows PowerShell to retrieve connectors that
are defined in Service Manager and view their status, see Get-SCSMConnector.

For information about how to use Windows PowerShell to update the properties of
a Service Manager connector, see Update-SCSMConnector.

Edit an Operations Manager connector


After you install an Operations Manager alert connector and configuration item (CI)
connector, you can edit the connectors. For example, you can use the following
procedure to add more management packs to the CI connector.

To edit an Operations Manager CI connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Operations Manager connector that you want
to edit.

4. In the Tasks pane, under the connector name, select Properties.

5. In the Edit dialog, in the left pane, select Management Packs.

6. In the Management Packs pane, select Refresh.

7. In the Credentials dialog, enter the credentials to connect to Operations Manager,


and select OK.

8. In the Management Packs list, select the management packs that define the
configuration items that you want to import, and select OK.

Next steps
Learn about how to Import data from Configuration Manager.
Import data from Configuration
Manager into Service Manager
Article • 03/16/2023

This article describes how to create, configure, disable, and enable a Configuration
Manager connector, and how to customize the Configuration Manager extended
SMS_def.mof file for collecting hardware information. You use the connector to import
data from Configuration Manager into Service Manager.

The connector for Configuration Manager recognizes User-device Affinity and Mobile
Devices and synchronizes them in the Service Manager database.

You can import data from the Configuration Manager site database into the Service
Manager database. This automatically creates and populates configuration items for the
hardware and software that you want to manage in Service Manager. After you import
data from Configuration Manager, you can attach the respective configuration items to
relevant incidents, and the information in the configuration items will be available to
analysts working on the incident.

By using a Configuration Manager connector, you can import configuration baselines


from Configuration Manager and then use these configuration baselines to
automatically generate incidents for noncompliant configuration items.

For information about Microsoft Operations Framework (MOF) implementation of


change and configuration, see Position of the Change and Configuration SMF Within the
MOF IT Service Lifecycle.

Complete the data warehouse registration


process
Before you create the Configuration Manager connector, you must ensure that the Data
Warehouse Registration process is complete.

Additional data in Configuration Manager


Additional data in Configuration Manager includes User-Device Affinity (UDA), Mobile
Device Data, and Software Request Data. UDA data from Configuration Manager more
accurately determines who the primary user of a computer or device is. The UDA data
collected by the Service Manager Configuration Manager connector is used to populate
the UsesComputer and PrimaryUser information in the Service Manager database.

Mobile device data for Windows Phones, Windows Mobile Phones, and Nokia devices
will be collected by the Service Manager Configuration Manager connector. Data from
other mobile devices such as iPhone, BlackBerry, and Android-based phones will be
collected when you're using the Configuration Manager Exchange Server connector.
Mobile device data will be imported into the Service Manager database as configuration
items, and it can be associated with work items, incident management, and change
management.

Software request data will be used in support of self-service software request


integration with Configuration Manager. The administrative category data from
Configuration Manager will be used to select which Service Request templates to apply
when creating a request from the Self-Service Portal.

Schedule
You can configure the Configuration Manager connector to update the Service Manager
database on a recurring schedule. You can also temporarily suspend the importation of
data from Configuration Manager by disabling the connector. For example, you can
disable the connector when maintenance is performed on the Configuration Manager
site database because you know that the maintenance process temporarily creates
inaccurate data. When appropriate, you can re-enable the connector and resume
importing data.

Extended hardware inventory with


Configuration Manager
In Configuration Manager, you can extend the hardware inventory by collecting an
inventory of additional Windows Management Instrumentation (WMI) classes, additional
WMI class attributes, registry keys, and other customizations to accommodate your
organization's requirements. For more information about extending the hardware
inventory in Configuration Manager, see How to Extend Hardware Inventory.

If you've extended the hardware inventory in Configuration Manager, you must create a
new Configuration Manager Connector management pack in Service Manager to collect
the extended hardware inventory. This new management pack can contain only the
information required to collect the extended hardware inventory from Configuration
Manager, or it can consist of everything from the original Configuration Manager
Connector management pack plus the new extended hardware inventory. For
information about creating a new connector management pack, see How to Configure a
Configuration Manager Connector for an Extended SMS_def.mof File.

Importing software configuration items


You can import software configuration items with the Configuration Manager Connector
by importing the following asset intelligence reporting classes in Configuration
Manager. These classes should be enabled in Configuration Manager before you
configure the Configuration Manager connector in Service Manager. For more
information about enabling Asset Intelligence in Configuration Manager, see How to
Enable Asset Intelligence.

SMS_InstalledSoftware

SMS_SystemConsoleUsage

SMS_SystemConsoleUser

SoftwareLicensingService

SoftwareLicensingProduct

If the software for a particular computer doesn't appear in the All Software view in the
Configuration Items workspace, you should review the Operations Manager event log
on the Service Manager primary management server. You should look for events with
sources of OpsMgr Connector and Lfx Service to determine if there are any errors.

Create a Configuration Manager connector


You can use the following procedures to create a connector to import data from
Configuration Manager into System Center - Service Manager and confirm the status of
the connector.

) Important

Before you can create the Configuration Manager connector, you've to verify that
Configuration Manager is installed in your environment, and you've to turn on
Windows User Account Control (UAC). For more information about UAC, see User
Account Control.
To create a Configuration Manager connector
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Connectors.
3. In the Tasks pane, under Connectors, select Create Connector, and select
Configuration Manager Connector. The Configuration Manager Connector Wizard
starts.
4. On the Before You Begin page, select Next.
5. On the General page, do the following:
a. In the Name box, enter a name for the new connector. For example, enter
Configuration Manager Connector to Seattle.
b. In the Description box, enter a description for the new connector. For example,
enter A Configuration Manager connector to site Seattle.
c. Ensure that the Enabled checkbox is selected, and select Next.

6. On the Select Management Pack page, in the Management Pack list, select either
System Center Configuration Manager Connector Configuration and select Next.

7. On the Connect to System Center Configuration Manager Database page, do the


following:
a. In the Database Server Name box, enter the server name of the server that is
hosting the Configuration Manager site database and the database named
instance, if applicable. For example, at the hypothetical Woodgrove Bank, you
might enter woodgrove\instance1 if the Configuration Manager database is on
a named instance of Microsoft SQL Server, or enter woodgrove if the database
is on a default instance of the SQL Server.
b. In the Database Name box, enter the name of the Configuration Manager site
database. For example, enter SMS_CM1.
c. In the Credentials area, select a Run As account, or create a new Run As
account. The user account that you specify as the Run As account must be a
member of the smsdbrole_extract and the db_datareader groups for the
Configuration Manager site database.
d. In the Credentials area, select Test Connection.
e. In the Credentials dialog, in the Password box, enter the password for the
account, and select OK.
f. In the Test Connection dialog, if you receive the following confirmation
message, select OK: The connection to the server was successful.
g. Select Next.

8. On the Collections page, select the appropriate collection, and then select Next.
9. On the Schedule page, in the Synchronize list, set the frequency and time of
synchronization, and select Next.

10. On the Summary page, confirm the connector settings you made, and select
Create.

11. On the Confirmation page, ensure that you receive the following confirmation
message: You have successfully completed the System Center Configuration Manager
Connector Wizard. Then, select Close.

7 Note

The System Center Configuration Manager Connector Wizard may take


several hours to import data from Configuration Manager.

To validate the creation of a Configuration Manager


connector
1. Confirm that the Configuration Manager connector that you created is displayed in
the Connectors pane.
2. In the Service Manager console, select Configuration Items. In the Configuration
Items pane, expand Configuration Items, expand Computers, and select All
Windows Computers. Verify that the intended computers appear in the All
Windows Computers pane.
3. In the middle pane, double-click a newly imported computer. Verify that the
appropriate computer details appear in the computer form.

To confirm the status of a Configuration Manager


connector
View the columns in the Connector pane; the columns contain information about
the start time, the finish time, the status, and the percentage of completion.

You can use a Windows PowerShell command to create a new Configuration


Manager connector. For information about how to use Windows PowerShell to create a
new Configuration Manager connector in Service Manager, see New-SCCMConnector.

Disable and enable a Configuration Manager


connector
You can use the following procedures to disable or enable a Configuration Manager
connector and validate the status of the change.

To disable a Configuration Manager connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Configuration Manager connector that you
want to disable. For example, select Configuration Manager connector to SEA.

4. In the Tasks pane, under the connector name, select Disable.

7 Note

If you disable a connector while it's synchronizing data, the synchronization


process may not stop. However, a disabled connector won't import any new
data from a Configuration Manager database from that point forward.

To enable a Configuration Manager connector


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Connectors.
3. In the Connectors pane, select the Configuration Manager connector that you
want to enable. For example, select Configuration Manager connector to SEA.
4. In the Tasks pane, under the connector name, select Enable.

To validate the status change of a Configuration Manager


connector
1. After you disable or enable the connector, wait 30 seconds. Then, in the Service
Manager console, select Administration, and select Connectors.
2. In the Connectors pane, locate the connector for which you've changed status, and
verify the value in the Enabled column.
3. If you enabled the connector, verify that the connector resumes synchronization
according to the schedule. If you disabled the connector, verify that the connector
no longer synchronizes according to the schedule.

You can use Windows PowerShell commands to complete these tasks and other
related tasks, as follows:
For information about how to use Windows PowerShell to start a Service Manager
connector, see Start-SCSMConnector.
For information about how to use Windows PowerShell to retrieve connectors that
are defined in Service Manager and view their status, see Get-SCSMConnector.
For information about how to use Windows PowerShell to update the properties of
a Service Manager connector, see Update-SCSMConnector.

Synchronize a Configuration Manager


connector
To ensure that the Service Manager database is up to date, the System Center
Configuration Manager connector synchronizes with Configuration Manager every day
after the initial synchronization. However, you can use the following procedures to
synchronize the connector manually and validate that the connector synchronized.

To manually synchronize a Configuration Manager


connector
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Configuration Manager connector that you
want to synchronize.

4. In the Tasks pane, under the name of the connector, select Synchronize Now.

7 Note

Depending on the amount of data that is imported, you might have to wait
for the import to be completed.

To validate that a Configuration Manager connector


synchronized
1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Computers, and select All Windows
Computers. Verify that any new computers in Configuration Manager appear in the
middle pane.
Configure a Configuration Manager connector
for an extended SMS_def.mof file
Service Manager hardware inventory collects and then provides system information,
such as available disk space, processor type, and operating system, about each
computer in the Configuration Manager hierarchy. In Configuration Manager, users can
customize the default Configuration Manager SMS_def.mof file to extend the hardware
inventory information that is collected.

When you create a Configuration Manager connector in Service Manager, you can select
the default System Center Configuration Manager Connector Configuration
management pack that must be used for that connector. By using the default
management pack, the connector imports hardware, software, and desired configuration
management information for the computers that are in the system.

If the Configuration Manager SMS_def.mof file has been extended to collect additional
hardware inventory data, which you also want to import into Service Manager, you must
create a new custom management pack that defines that additional data. Then, you've
to create a new Configuration Manager connector and configure it to use the new
custom management pack.

Import extended hardware inventory data from


Configuration Manager
To import extended hardware inventory data from Configuration Manager, you must
author a custom Configuration Manager connector management pack. There are two
approaches to implementing a custom Configuration Manager connector:

Create a custom Configuration Manager connector management pack that defines


the extended data that you want to import and then create two connectors.
Configure one connector to use the default System Center Configuration Manager
Connector Configuration management pack to import the data that is defined by
default. Configure the second connector to use the custom management pack to
import the additional extended data.

Customize the default System Center Configuration Manager Connector


Configuration management pack to also include the additional extended data.
Create a single connector that is configured to use the custom management pack
to import all the information that you must have.

This article provides the information that you must have to implement the first approach
that is described earlier. It provides the details that you must have so that you can
develop a custom Configuration Manager connector management pack that imports the
extended hardware inventory from Configuration Manager.

The high-level steps to importing extended hardware inventory data are as follows:

1. Create a custom Configuration Manager Connector Configuration management


pack with the definitions for the extended data.
2. Import the custom management pack into Service Manager. After you import the
management pack, Service Manager processes the directives in the management
pack to create staging tables and to run any install Structured Query Language
(SQL) scripts, as defined in the management pack.
3. Create a Configuration Manager connector and configure it to use the custom
management pack.
4. The Configuration Manager connector imports the data.

Work with a custom Configuration Manager Connector


management pack
Consider the following tips when you're working with a custom Configurations Manager
Connector management pack:

Semantic errors in the connector configuration templates in the management pack


don't prevent the management pack from being imported, and they're logged to
the event log. In this case, you must delete the management pack, correct the
errors, and reimport the management pack.

After creating a Configuration Manager connector, you can't modify its


management pack selection. Instead, you must delete that connector and then
create a new one with the desired management pack selection.

To ensure a successful deletion of a management pack, you must delete any


connectors that are configured to use the management pack that you want to
delete and then delete the management pack.

When you delete a custom Configurations Manager Connector management pack,


Service Manager tries to delete all related staging tables that were created during
the management pack import. Then, Service Manager runs any scripts that are
defined in the Uninstall section of the management pack.

Unlike other management packs, the custom Configuration Manager Connector


management pack can't be versioned. Importing a later version of the
management pack will succeed. However, the connector configuration in the
management pack will be ignored, or it might cause validation errors that are
logged to the event log.

Create custom Configuration Manager Connector


Configuration management pack
A custom Configuration Manager Connector Configuration management pack is similar
in structure to the default Configuration Manager Connector management pack. It must
contain the two object templates DataProvider and DataConsumer that specify how the
data should be imported and applied.

DataProvider section

The DataProvider section provides information, such as which data to import, that you
must have when you're importing data from Configuration Manager into the staging
tables of LinkingFramework. The DataProvider section includes the queries that run on
the Configuration Manager site database; directives for staging table creation; custom
SQL scripts; and information that is relevant for incremental synchronization, such as
watermarking and batching.

DataConsumer section

The DataConsumer section provides information about reading the data from staging
tables and writing it to the ServiceManager database's instances space, such as Entities
or Relationships. The DataConsumer section includes queries that run on the staging
tables; mapping to the Service Manager type system; custom SQL scripts; and
information that is relevant for incremental synchronization, such as watermarking and
batching.

Structure of the DataProvider and DataConsumer object templates


sections
Basically, the DataProvider and the DataConsumer are object templates that are
targeted to a projection type. The following code shows the general structure of the
DataProvider and the DataConsumer sections:

<TypeProjection ID="System.LinkingFramework.DataConnector.Projection"
Accessibility="Public" Type="System.LinkingFramework.DataConnector">
<Component Alias="DataTable"
Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsTab
les' TypeConstraint='System.LinkingFramework.DataTable']$">
<Component Alias="Field"
Path="$Context/Path[Relationship='System.LinkingFramework.TableEmbedsFields'
]$" />
</Component>
<Component Alias="DataCollection"
Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsCol
lections' TypeConstraint='System.LinkingFramework.DataCollection']$" />
</TypeProjection>

In this code, DataTable, Field, and DataCollection are defined as follows:

DataTable. The smallest data unit that is defined for data transfer. It's a declaration
of what data to retrieve from the external data source. It also defines dependencies
between different data tables and when data batching, watermarking, and
grooming have finished.

Field. A single column in a data table.

DataCollection. A set of data tables to be transferred in one data transfer job or


session. It defines which data tables are included in this data collection.

Properties in the custom management pack


The following table provides the details about each property in the custom
Configuration Manager Connector Configuration management pack. Use these
guidelines when you create the custom management pack.

Property Expected value Validation after import

ID For both Yes


DataProvider and
DataConsumer
templates as
indicated in the
sample

DataConnector
Properties
Property Expected value Validation after import

DataConnectorName For both Yes


DataProvider and
DataConsumer
templates -
identical to the
values in the
sample

IsProvider In DataProvider Yes


template - True

In DataConsumer
template - False

SolutionName A comment. For An attempt to import a management pack in


example, it can which the solution name is already being used; it
indicate the type of causes an error that is logged to the event log.
the imported data.

Entrypoint, Identical to the


EntryAssembly & value in the sample
WinformUIAssembly
Property Expected value Validation after import

InstallSQLScripts section SQL scripts that Not validated. Use custom table names to ensure
must run after the that this does not cause overwriting or changing
staging tables are any tables except the ones that are declared in the
set up. They're management pack.
usually used in the
DataConsumer
template to
configure views that
display data from
the staging tables.

Everything that is
enclosed between
the <Script>
</Script> tags is
expected to be valid
SQL script.
Therefore, for
comments, you
must use the /*
and the */ multi-
line comment
delimiters instead
of the standard
XML comment tags.
Property Expected value Validation after import

UnInstallSQLScripts SQL scripts that Not validated. Use custom table names to ensure
section must run after you that this does not cause overwriting or changing
delete the any tables except the tables that are declared in
Configuration the management pack.
Manager Connector
management pack
in the Service
Manager console.

Everything that is
enclosed between
the <Script>
</Script> tags is
expected to be valid
SQL script.
Therefore, for
comments, you
must use the /*
and the */ multi-
line comment
delimiters instead
of the standard
XML comment tags.

DisableParallelProcessing True

DataTable Properties

DataName The table from


which to import
data. It's used in the
user interface (UI)
and not used in
queries.

StageTableName The name of the An attempt to import a management pack, in


staging table. It which the table name is already being used,
must be unique. causes an error to be logged to the event log.

WatermarkField The name of the


rowversion column
Property Expected value Validation after import

WatermarkType Possible values are: Other types of watermarking aren't supported.

- 0-Indicates
DateTime type
- 1-Indicates the
Timestamp type
- (-1)-Indicates no
watermarking, in
which case
WatermarkField
becomes optional

BatchIdField The name of the


column that has
good selectivity;
used to separate
incremental data
into batches when
importing to
staging tables

BatchIdType Possible values are: Integer column

- 0-Int
- (-1)-No batching,
in which case
BatchIdField
becomes optional

BatchIdSize The size of the Integer column


batch, if batching is
used. A high
number indicates
that much data is
being read or
written at the same
time. The
recommended
value is 500.

UseCache True
Property Expected value Validation after import

GroomType Possible values are:

- 1-The data in
staging tables can
be groomed after
it's transferred to
the Service
Manager database.
- 2-The data in
staging tables is
groomed only after
it's marked as
deleted in the
Configuration
Manager database
and has also been
deleted in the
Service Manager
database because
of the Service
Manager connector
synchronization.

QueryString The actual query Not validated. All queries have an Lfx_Status
that Configuration column with value U or D , indicating whether the
Manager 2007 uses row represents an Update or a Delete operation.
to retrieve the
requested data. The
query must be of
the form:

SELECT ...

FROM ...

WHERE ...

ORDER BY ...

The WHERE clause


can contain the
$COLLECTIONLIST
token. During
synchronization,
this token is
replaced by the
collections that are
Property Expected value Validation after import

specified in the
System Center
Configuration
Manager Connector
Wizard.

The data that is


exposed by
Configuration
Manager
SCCM_Ext.* views is
supported for
import. This data
can be extended by
using standard
sms_def.mof
extensions or by
using noidmifs.
Other tables aren't
supported.

Notably, subqueries
aren't supported,
but joins to other
tables are
supported.

CollectionName A name for a group An attempt to import a management pack, in


of data tables; this which the collection name is already being used,
name must be causes an error to be logged to the event log.
unique. Tables in
the same collection
can't depend on
each other.

PrimaryKeyName A section that An attempt to import a management pack, in


declares the unique which the key name is already being used, causes
primary key name an error to be logged to the event log.
for the staging
table.
Property Expected value Validation after import

DependOnDataTable The name or names Not validated


of DataTable that
must be
synchronized first
before this one.
Typically, this is
used to synchronize
the staging table
before the system
reads it in the
Consumer view.

If you're using
multiple collections,
dependency should
be expressed only
between tables in
different collections.

DataField Properties

Name, Type, AllowNull These are required Not validated


fields for any
column type.
Supported types
are int, nvarchar,
datetime and xml.

PrimaryKeyACs, If part of primary


PrimaryKeyPosition key indicates the
position from the
left in the primary
key. Lfx adds two
internal use
columns (Lfx_Status,
Lfx_SourceId) to the
PK at the end.

Collation DATABASE_DEFAULT Not validated

DataCollection
Properties

DataCollectionName Must be identical to An attempt to import a management pack, in


what is referenced which the collection name is already being used,
by a DataTable causes an error to be logged to the event log.
property
Property Expected value Validation after import

StagingName In DataProvider Not validated


template-
DefaultCache

In DataConsumer
template-Not
present

DataTables Comma-separated
value (CSV) list of
tables referencing
this collection

Settings In DataProvider Escaped XML with following syntax:


template-Not
present <TypeName>Microsoft.Windows.Computer</TypeName>

In DataConsumer <MPName>Microsoft.Windows.Library</MPName>
template-Indicates
type mapping <MPVersion>version of MP</MPVersion>

<MPToken>token for MP</MPToken>

Custom Configuration Manager Connector Configuration


management packs samples
The following are schema definitions and Configuration Manager Connector
management pack samples that import data from the Configuration Manager
SCCM_Ext.vex_GS_PC_BIOS view.

Refer to the table earlier in this article for more information about the properties of
these management packs. Use an XML editor, such as the editor in Microsoft Visual
Studio, to modify these samples to fit your import scenarios.

Import data from a hosted class


When you're specifying a class that is hosted, the view in the DataConsumer template
should include columns for the key property of the parent class. In this sample, the class
that contains the BIOS information is hosted under a computer.

In this example, the Configuration Manager Connector Configuration management pack


has two collections in the DataProvider and in the DataConsumer sections, one for
importing the computers data and the second to import the BIOS data.
Class Definition

<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true"
SchemaVersion="1.1" OriginalSchemaVersion="1.1">
<Manifest>
<Identity>
<ID>SampleBIOSMP</ID>
<Version>1.0.0.0</Version>
</Identity>
<Name>BIOS Class MP</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Windows">
<ID>Microsoft.Windows.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="HostedCustomClass" Accessibility="Public"
Base="System!System.ConfigItem" Hosted="true" Abstract="false">
<Property ID="SerialNumber" Type="string" Key="true"/>
</ClassType>
</ClassTypes>
<RelationshipTypes>
<RelationshipType ID="Microsoft.Windows.ComputerHostsBIOS"
Accessibility="Public" Base="System!System.Hosting">
<Source ID="Computer" Type="Windows!Microsoft.Windows.Computer" />
<Target ID="BIOSClass" Type="HostedCustomClass" />
</RelationshipType>
</RelationshipTypes>
</EntityTypes>
</TypeDefinitions>
</ManagementPack>

Configuration Manager Connector Configuration management pack

<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true"
SchemaVersion="1.1" OriginalSchemaVersion="1.1">
<Manifest>
<Identity>
<ID>CnfgMgrBiosSample</ID>
<Version>7.0.5229.0</Version>
</Identity>
<Name>CnfgMgrBiosSample</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="LFX">
<ID>ServiceManager.LinkingFramework.Library</ID>
<Version>7.0.5229.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<Templates>
<ObjectTemplate
ID="DataProvider.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms
" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Da
taConnectorName$">
Microsoft_EnterpriseManagement_ServiceManager_Connector_Sms
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Is
Provider$">
True
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/So
lutionName$">SampleBIOS</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/En
tryPoint$">

Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/En
tryAssembly$">
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms,
Version="7.0.5000.0",
Culture=neutral,
PublicKeyToken="31bf3856ad364e35"
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Wi
nFormUIAssembly$">
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector,
Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms,
Version="7.0.5000.0", Culture=neutral,
PublicKeyToken="31bf3856ad364e35"
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/In
stallSQLScripts$"></Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Di
sableParallelProcess$">
True
</Property>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sTables' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataNa
me$">SCCM_Ext.Sample_vex_R_System</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageT
ableName$">Sample_SMS_vex_R_System</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkField$">S.[rowversion]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkType$">1</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dField$">S.[ResourceID]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dSize$">2000</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCac
he$">true</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomT
ype$">2</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryS
tring$"><![CDATA[
SELECT S.ResourceID,
S.ChangeAction as Lfx_Status,
S.Netbios_Name0,
S.Resource_Domain_OR_Workgr0
FROM SCCM_Ext.vex_R_System S
INNER JOIN SCCM_Ext.vex_FullCollectionMembership
CM
ON S.ResourceID = CM.ResourceID
INNER JOIN SCCM_Ext.vex_Collection C
ON C.CollectionID = CM.CollectionID
WHERE ((S.ChangeAction = 'U' AND S.Client_Type0
!= 3 AND S.Hardware_ID0 IS NOT NULL)
OR S.ChangeAction = 'D')
AND $COLLECTIONLIST
ORDER BY S.rowversion
]]>
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Collec
tionName$">BIOSComputers</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Primar
yKeyName$">[Sample_SMS_PK_v_R_SYSTEM]</Property>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">
[ResourceID]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">false</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Position$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Acs$">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Net
bios_Name0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVa
rChar</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64<
/Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$
">DATABASE_DEFAULT</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Res
ource_Domain_OR_Workgr0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVa
rChar</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">255
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$
">DATABASE_DEFAULT</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">true</Property>
</Object>
</Object>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sTables' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataNa
me$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageT
ableName$">Sample_SMS_vex_GS_COMPUTER_SYSTEM</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkField$">CS.[rowversion]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkType$">1</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dField$">CS.[ResourceID]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dSize$">2000</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCac
he$">true</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomT
ype$">2</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryS
tring$"><![CDATA[
SELECT CS.ResourceID,
CS.GroupKey,
CS.ChangeAction as Lfx_Status,
CS.Name0,
CS.Domain0
FROM SCCM_Ext.vex_GS_COMPUTER_SYSTEM CS
INNER JOIN SCCM_Ext.vex_FullCollectionMembership
CM
ON CS.ResourceID = CM.ResourceID
INNER JOIN SCCM_Ext.vex_Collection C
ON C.CollectionID = CM.CollectionID
WHERE $COLLECTIONLIST
ORDER BY CS.rowversion
]]>
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Collec
tionName$">BIOSComputers</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Primar
yKeyName$">[Sample_SMS_PK_v_GS_COMPUTER_SYSTEM]</Property>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">
[ResourceID]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">false</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Position$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Acs$">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">
[GroupKey]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">false</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Position$">1</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Acs$">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">
[Name0]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVa
rChar</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64<
/Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$
">DATABASE_DEFAULT</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">
[Domain0]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVa
rChar</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">32<
/Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$
">DATABASE_DEFAULT</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">true</Property>
</Object>
</Object>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sTables' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataNa
me$">SCCM_Ext.vex_GS_PC_BIOS</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageT
ableName$">Sample_SMS_vex_GS_PC_BIOS</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkField$">S.[rowversion]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkType$">1</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dField$">S.[ResourceID]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dSize$">2000</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCac
he$">true</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomT
ype$">2</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryS
tring$"><![CDATA[
SELECT S.ChangeAction as Lfx_Status,
S.ResourceID,
S.BatchingKey,
S.GroupKey,
S.SerialNumber0
FROM SCCM_Ext.vex_GS_PC_BIOS S
INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
ON S.ResourceID = CM.ResourceID
INNER JOIN SCCM_Ext.vex_Collection C
ON C.CollectionID = CM.CollectionID
WHERE C.ChangeAction = 'U' AND CM.ChangeAction = 'U'
AND $COLLECTIONLIST
ORDER BY S.rowversion
]]>
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Collec
tionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Primar
yKeyName$">[Sample_SMS_PK_v_GS_BIOS1]</Property>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">
[ResourceID]</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">false</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Position$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKey
Acs$">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Bat
chingKey</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">false</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Gro
upKey</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">true</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFie
lds' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.Field']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Ser
ialNumber0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVa
rChar</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">34<
/Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$
">DATABASE_DEFAULT</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$
">true</Property>
</Object>
</Object>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sCollections' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataCollectionName$">BIOSComputers</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/S
tagingName$">DefaultCache</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataTables$">SCCM_Ext.Sample_vex_R_System,SCCM_Ext.Sample_vex_GS_COMPUTER_SYS
TEM</Property>
</Object>
<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sCollections' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataCollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/S
tagingName$">DefaultCache</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataTables$">SCCM_Ext.vex_GS_PC_BIOS</Property>
</Object>
</ObjectTemplate>

<ObjectTemplate
ID="DataConsumer.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms
" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Da
taConnectorName$">
MomStore
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Is
Provider$">
False
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/So
lutionName$">SampleBIOS</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/En
tryPoint$">

Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalSt
ore.OperationalStoreConsumer
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/En
tryAssembly$">

Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalSt
ore,
Version="7.0.5000.0",
Culture=neutral,
PublicKeyToken="31bf3856ad364e35"
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/In
stallSQLScripts$"><![CDATA[
<Script>
if not object_id('[LFXSTG].
[v_Sample_SMS_BIOSComputer]') is null
drop view [LFXSTG].
[v_Sample_SMS_BIOSComputer];
exec ('
CREATE VIEW [LFXSTG].
[v_Sample_SMS_BIOSComputer] AS
SELECT S.Lfx_RowId,
S.Lfx_SourceID,
S.Lfx_Timestamp,
S.Lfx_Status,
CS.Name0 AS ''DisplayName'',
COALESCE(CS.Name0,
S.Netbios_Name0)
+ ''.'' + COALESCE(CS.Domain0,
S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
FROM LFXSTG.Sample_SMS_vex_R_System S
INNER JOIN
LFXSTG.Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
ON S.ResourceID = CS.ResourceID AND
S.Lfx_SourceId = CS.Lfx_SourceId
WHERE S.Netbios_Name0 IS NOT NULL
AND S.Resource_Domain_OR_Workgr0 IS
NOT NULL
');
</Script>

<Script>
if not object_id('[LFXSTG].[v_Sample_BIOS]') is
null
drop view [LFXSTG].[v_Sample_BIOS]
exec ('
CREATE VIEW [LFXSTG].[v_Sample_BIOS] AS
SELECT P.Lfx_RowId AS Lfx_RowId,
P.Lfx_SourceId,
P.Lfx_Timestamp AS Lfx_Timestamp,
P.Lfx_Status as Lfx_Status,
P.SerialNumber0 AS ''SerialNumber'',
COALESCE(CS.Name0, S.Netbios_Name0)
+ ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS
''PrincipalName''
FROM [LFXSTG].Sample_SMS_vex_GS_PC_BIOS
P
INNER JOIN [LFXSTG].
Sample_SMS_vex_R_System S
ON P.ResourceID=S.ResourceID AND
P.Lfx_SourceId = S.Lfx_SourceId
INNER JOIN [LFXSTG].
Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
ON S.ResourceID=CS.ResourceID
AND S.Lfx_SourceId =
CS.Lfx_SourceId
')
</Script>
]]>
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/Un
installSQLScripts$"><![CDATA[
<Script>
if not object_id('[LFXSTG].
[v_Sample_SMS_BIOSComputer]') is null
drop view [LFXSTG].
[v_Sample_SMS_BIOSComputer];
</Script>

<Script>
if not object_id('[LFXSTG].[v_Sample_BIOS]') IS
NULL
drop view [LFXSTG].[v_Sample_BIOS];
</Script>
]]>
</Property>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sTables' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataNa
me$">Sample_SMS_Computer</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkField$">E.Lfx_Timestamp</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dField$">E.Lfx_RowId</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dSize$">500</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCac
he$">false</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryS
tring$"><![CDATA[
SELECT * FROM [LFXSTG].v_Sample_SMS_BIOSComputer
E
]]>
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Collec
tionName$">Sample_SMS_Computers_COLLECTION</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Depend
OnDataTable$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM,SCCM_Ext.Sample_vex_R_S
ystem</Property>
</Object>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sTables' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataNa
me$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkField$">C.Lfx_Timestamp</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Waterm
arkType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dField$">C.Lfx_RowId</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dType$">0</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchI
dSize$">500</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCac
he$">False</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryS
tring$"><![CDATA[
select C.* from [LFXSTG].v_Sample_BIOS C
]]>
</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Collec
tionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/Depend
OnDataTable$">SCCM_Ext.vex_GS_PC_BIOS, Sample_SMS_Computer</Property>
</Object>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sCollections' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataCollectionName$">Sample_SMS_Computers_COLLECTION</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataTables$">Sample_SMS_Computer</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/S
ettings$"><![CDATA[
<TypeName
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Micros
oft.Windows.Computer</TypeName>
<MPName
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Micros
oft.Windows.Library</MPName>
<MPVersion
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">7.0.52
29.0</MPVersion>
<MPToken
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">31bf38
56ad364e35</MPToken>
]]>
</Property>
</Object>

<Object
Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbed
sCollections' SeedRole='Source'
TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataCollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/D
ataTables$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
<Property
Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/S
ettings$"><![CDATA[
<TypeName
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Hosted
CustomClass</TypeName>
<MPName
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Sample
BIOSMP</MPName>
<MPVersion
xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">1.0.0.
0</MPVersion>
]]>
</Property>
</Object>
</ObjectTemplate>
</Templates>
</ManagementPack>

Next steps
Learn about how to Import runbooks from Orchestrator.
Import Runbooks from System Center
Orchestrator into Service Manager
Article • 04/19/2023

Service Manager integrates with Orchestrator, providing the capability to synchronously


invoke runbooks from within Service Manager using workflows. This capability provides
integration between Orchestrator automation capabilities with the Self-Service Portal
and business modeling capabilities. When this capability is combined with the Service
Manager Service Catalog stack, it's possible to create an end-user-facing request
offering with an Orchestrator runbook as part of the fulfillment process.

Activities that make up a service request can be mapped to runbook activities, which in
turn are mapped to an Orchestrator runbook. For example, the parameters that are
necessary for a custom start activity to invoke a runbook in Orchestrator, such as a
computer name, can go into as Service Manager as objects. You start this process by
importing runbook objects into the Service Manager database using an Orchestrator
connector. After you import runbooks into Service Manager, they appear in the Library
node in the Administration workspace.

7 Note

Ensure that you've installed the ADO.NET Data Services Update for .NET Framework
3.5 Service Pack 1 (SP1), as described in Microsoft Knowledge Base article 976127.
For more information, see ADO.NET Data Services Update

Create an Orchestrator connector and validate


its creation
You can use the following procedures to create a connector for System Center -
Orchestrator and then validate the creation of the connector.

Create an Orchestrator connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.


3. In the Tasks pane, under Connectors, select Create Connector, and select
Orchestrator connector.

4. Perform these steps to complete the Orchestrator Connector Wizard:

a. On the Before You Begin page, select Next.

b. On the General page, in the Name box, enter a name for the new connector.
Ensure that Enable this connector is selected, and select Next.

c. On the Connection page, in the Server Information area, enter the URL of the
Orchestrator Web service.
i. Enter the URL of the Orchestrator Web service in the form of
http://computer:port/Orchestrator/Orchestrator.svc, where computer is the
name of the computer hosting the web service and port is the port number
where the web service is installed. (The default port number is 81.)

d. On the Connection page, in the Credentials area, either select an existing


account or select New, and then do the following:

i. In the Run As Account dialog, in the Display name box, enter a name for the
Run As account. In the Account list, select Windows Account. Enter the
credentials for an account that has rights to connect Orchestrator, and select
OK. On the Connection page, select Test Connection.

7 Note

Special characters (such as the ampersand [&]) in the User Name box
aren't supported.

ii. In the Test Connection dialog, ensure that the message The connection to the
server was successful appears, and select OK. On the Connection page, select
Next.

e. On the Folder page, select a folder, and select Next.

f. On the Web Console URL page, enter the URL for the Orchestrator web console
in the form of http://computer:port (the default port number is 82), and select
Next.

g. On the Summary page, ensure that the settings are correct, and select Create.

h. On the Completion page, ensure that you receive the message Orchestrator
connector successfully created, and select Close.
Validate the creation of an Orchestrator connector
1. In the Connectors pane, locate the Orchestrator connector that you created.

2. Review the Status column for a status of Finished Success.

7 Note

Allow sufficient time for the import process to finish if you're importing a
large number of runbooks.

3. In the Service Manager console, select Library.

4. In the Library pane, expand Library, and select Runbooks.

5. Review the Runbooks pane, and note that your runbooks have been imported.

Synchronize an Orchestrator connector


To ensure that the Service Manager database is up to date, the Orchestrator connector
synchronizes with Service Manager on a daily basis. You can use the following
procedures to synchronize the connector manually and validate that the connector
synchronized.

Manually synchronize an Orchestrator connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Orchestrator connector that you want to
synchronize.

4. In the Tasks pane, under the name of the connector, select Synchronize Now.

Validate that an Orchestrator connector is synchronized


1. In the Service Manager console, select Connectors.

2. In the Connectors pane, examine the start time and finish time to determine when
the synchronization process started and finished.
7 Note

Synchronization events are also written to the Event log in the Applications
and Services Logs/Operations Manager folder.

Disable and enable an Orchestrator connector


You can use the following procedures to disable or enable an Orchestrator connector
and validate the status of the connector.

Disable an Orchestrator connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Orchestrator connector that you want to
disable.

4. In the Tasks pane, under the connector name, select Disable.

5. In the Disable Connector dialog, select OK.

Enable an Orchestrator connector


1. In the Service Manager console, select Administration, and select Connectors.

2. In the Connectors pane, select the Orchestrator connector that you want to
enable.

3. In the Tasks pane, under the connector name, select Enable.

4. In the Enable Connector dialog, select OK.

Validate the status change of an Orchestrator connector


In the middle pane, locate the connector for which you've changed status, and
then verify the value in the Enabled column.

Next steps
Learn how to Import data from VMM.
Import data from Virtual Machine
Manager into Service Manager
Article • 03/16/2023

You can import objects, such as VM templates, service templates, and storage
classifications that are created in Virtual Machine Manager (VMM) into the Service
Manager database by creating a Virtual Machine Manager connector. After you import
these objects into the Service Manager database, you can use these objects, for
example, when you create Request Offerings.

If, in your environment, your VMM server pushes discovery data to an Operations
Manager server, you'll want to create an Operations Manager CI connector. You must
ensure that the VMM management pack,
Microsoft.SystemCenter.VirtualMachineManager.<version>.Discovery, is synchronized
with the Service Manager management server. You can create the Operations Manager
CI connector either before or after creating the Virtual Machine Manager connector.

Create a Virtual Machine Manager connector


Use the following procedures to create a System Center Virtual Machine Manager
connector and validate the creation of the connector.

To create a System Center Virtual Machine Manager


connector
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Tasks pane, under Connectors, select Create Connector, and select Virtual
Machine Manager connector.

4. Complete these steps to complete the Virtual Machine Manager Connector


Wizard:

a. On the Before You Begin page, select Next.

b. On the General page, in the Name box, enter a name for the new connector.
Ensure that Enable this connector is selected, and select Next.
c. On the Connection page, in the Server Information area, enter the same of the
computer hosting Virtual Machine Manager (VMM).

d. On the Connection page, in the Credentials area, either select an existing


account or select New, and then do the following:

i. In the Run As Account dialog, in the Display name box, enter a name for the
Run As account. In the Account list, select Windows Account. Enter the
credentials for an account that has rights to connect VMM, and select OK. On
the Connection page, select Test Connection.

7 Note

Special characters (such as the ampersand [&]) in the User Name box
aren't supported.

ii. In the Test Connection dialog, ensure that The connection to the server was
successful appears, and select OK. On the Connection page, select Next.

e. On the Summary page, ensure that the settings are correct, and select Create.

f. On the Completion page, ensure that you receive a Virtual Machine Manager
connector successfully created message, and select Close.

To validate the creation of a System Center Virtual


Machine Manager connector
1. In the Connectors pane, locate the System Center Virtual Machine Manager
connector that you created.

2. Review the Status column for a status of Running.

7 Note

Allow sufficient time for the import process to finish if you're importing a
large number of virtual machines or clouds.

3. In the Service Manager console, select Configuration Items.

4. In the Tasks pane, select Create Folder.

5. In the Create New Folder Wizard, do the following:


a. In the Folder name box, enter a name for the folder. For example, enter Test.

b. In the Management pack area, ensure that an unsealed management pack of


your choice is selected, and select OK. For example, select Service Catalog
Generic Incident Request.

6. In the Configuration Items pane, select the folder you just created. For example,
select Test.

7. In the Tasks pane, select Create View.

8. In the Create View Wizard, do the following:

a. On the General page, in the Name area, enter a name for this view. For
example, enter VMMTemplates.

b. In the Management pack area, ensure that an unsealed management pack of


your choice is selected. For example, select Service Catalog Generic Incident
Request.

c. In the navigation pane of the wizard, select Criteria.

d. In the Advanced Search area, select Browse.

e. In the dropdown list (located to the right of the Type to filter box), select All
basic classes.

f. In the Type to filter box, enter virtual machine template, select Virtual Machine
Template, select OK, and select OK to save and close the form.

9. In the Configuration Items pane, expand the folder you created, and select the
view you created. For example, expand Test, and select VMMTemplates

10. In the VMMTemplates pane, you'll see the Virtual Machine Manager templates
that have been created.

Synchronize a Virtual Machine Manager


connector
To ensure that the Service Manager database is up to date, the Virtual Machine Manager
connector synchronizes with Service Manager on a daily basis. You can use the following
procedures to synchronize the connector manually and validate that the connector
synchronized.
To manually synchronize a Virtual Machine Manager
connector
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Virtual Machine Manager connector that you
want to synchronize.

4. In the Tasks pane, under the name of the connector, select Synchronize Now.

To validate that a Virtual Machine Manager connector


synchronized
1. In the Service Manager console, select Connectors.

2. In the Connectors pane, examine the start time and finish time to determine when
the synchronization process started and finished.

7 Note

Synchronization events are also written to the Event log in the Applications
and Services Logs/Operations Manager folder.

Disable and enable a Virtual Machine Manager


connector
You can use the following procedures to disable or enable a Virtual Machine Manager
connector and validate the status of the connector.

To disable a virtual Machine Manager connector


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Connectors pane, select the Virtual Machine Manager connector that you
want to disable.

4. In the Tasks pane, under the connector name, select Disable.


5. In the Disable Connector dialog, select OK.

To enable a virtual Machine Manager connector


1. In the Service Manager console, select Administration, and select Connectors.

2. In the Connectors pane, select the Virtual Machine Manager connector that you
want to enable.

3. In the Tasks pane, under the connector name, select Enable.

4. In the Enable Connector dialog, select OK.

To validate the status change of a virtual Machine


Manager connector
1. In the middle pane, locate the connector for which you've changed status, and
then verify the value in the Enabled column.

Next steps
Review the Configuration items article to learn about storing information about
services, computers, software, software updates, users, and other undefined
imported objects in the Service Manager database.
Use a CSV file to import data into
Service Manager
Article • 03/16/2023

This article provides an overview and procedures for importing data and configuration
items into Service Manager by using comma-separated value (CSV) files.

Import data from comma-separated files


Configuration items contained in a comma-separated value (.csv) file can be imported
into the Service Manager database by using the Import from CSV File feature. This
feature lets you bulk-import instances of any class type or projection type that is defined
in the Service Manager database. You can use this feature to:

Create configuration item or work item instances from data stored in a tabular
format.

Bulk-edit existing database instances.

Populate the Service Manager database by using data exported from an external
database.

Circumvent data entry through forms when many class instances must be created
at the same time.

7 Note

Importing many complex items-for example, 5,000 computer projections-could


take an hour or more. During this time, Service Manager continues to function.

Two files are required to import a set of instances by using the Import from CSV File
feature:

1. A data file that consists of a series of comma-delimited object instances. The data
file must end with the .csv file name extension.

2. A format file that specifies the class type or projection type of the instances
present in the data file. Every instance in the data file is assumed to be of this kind.
The format file also specifies (1) the subset of properties and, for projections,
specifies components. They're being imported for the indicated type, and (2) the
order in which those properties appear as columns in the associated data file. The
format file must have the same file name as the csv file that it describes, and it
must end with the .xml file name extension.

Create the data file


For example, you receive a spreadsheet that contains information about computers that
you want to import into the Service Manager database. The following is a sample of the
first 10 computers in the spreadsheet.

Computer Name IP Address Domain Name

WG-Det-1 172.30.14.21 DETROIT

WG-Det-2 172.30.14.22 DETROIT

WG-Det-3 172.30.14.23 DETROIT

WG-Dal-1 172.30.14.24 DALLAS

WG-Dal-2 172.30.14.25 DALLAS

WG-Chi-1 172.30.14.26 CHICAGO

WG-Chi-2 172.30.14.27 CHICAGO

WG-Chi-3 172.30.14.28 CHICAGO

WG-Chi-4 172.30.14.29 CHICAGO

WG-Chi-5 172.30.14.30 CHICAGO

The first step is to convert the data in the table into a .csv file format. In the .csv file, you
make the assumption that the first row is data, and not a header. Therefore, you remove
the header line from the spreadsheet and save the results as newcomputers.csv as in
the following example.

WG-Det-1, 172.30.14.21, DETROIT


WG-Det-2, 172.30.14.22, DETROIT
WG-Det-3, 172.30.14.23, DETROIT
WG-Dal-1, 172.30.14.24, DALLAS
WG-Dal-2, 172.30.14.25, DALLAS
WG-Chi-1, 172.30.14.26, CHICAGO
WG-Chi-2, 172.30.14.27, CHICAGO
WG-Chi-3, 172.30.14.28, CHICAGO
WG-Chi-4, 172.30.14.29, CHICAGO
WG-Chi-5, 172.30.14.30, CHICAGO
Create the format file
A format file is now created that is suited to import the rows that are contained in the
newcomputers.csv file. The first step in writing the format file is identifying the class
type or projection type that must be used for the instances in the .csv file. For more
information about class type or projection types, see the blog post Using the CSV
import feature and download the file CSVImport.docx.

For the type of data being imported, you find that the Microsoft.Windows.Computer
class is the best suited for the object type and property set. Start by declaring the class
of the object that is being imported:

<CSVImportFormat>
<Class Type="Microsoft.Windows.Computer">
...
</Class>
</CSVImportFormat>

After scanning the list of available properties of the Microsoft.Windows.Computer class,


select the following properties for each column in the .csv file.

column property

Column 1 Principal Name

Column 2 IPAddress

Column 3 DomainDnsName

By using these properties, you construct the following format file. The properties are
listed in the order in which they appear in the .csv file. You must save this file that has
the same file name for the .csv file, but with an .xml file name extension.

<CSVImportFormat>
<Class Type="Microsoft.Windows.Computer">
<Property ID="PrincipalName"/>
<Property ID="IPAddress"/>
<Property ID="DomainDnsName"/>
</Class>
</CSVImportFormat>
Save this file as newcomputers.xml.

Import configuration items from a CSV file


Before you can import data from a comma-separated value (CSV) file, you've to create
two files: a data file and a format file. You can use the following procedure to import the
Newcomputers.csv file by using the Newcomputers.xml format file.

To import configuration items from a CSV file


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Connectors.

3. In the Tasks pane, select Import from CSV file.

4. In the Import Instances from CSV File dialog, do the following:

a. Next to the XML format file box, select Browse, and then select the format file.
For example, select Newcomputers.xml, and select Open.

b. Next to the Data file box, select Browse, and then select the data file. For
example, select Newcomputers.csv, and select Open.

5. In the Import Instances from CSV File dialog, select Import.

6. In the Import Instances from CSV File dialog, verify that the numbers next to
Items saved, Instances created in memory, and Instances committed to database
are equal to the number of rows in the data file, and select Close.

You can use a Windows PowerShell command to complete this task. For information
about how to use Windows PowerShell to import configuration items from a CSV file,
see Import-SCSMInstance.

To validate the import of configuration items from a CSV


file
1. In the Service Manager console, select Configuration Items.

2. In the Configuration Items pane, expand Configuration Items, expand Computers,


and select All Windows Computers.
3. In the All Windows Computers pane, verify that the computers in the CSV file are
listed.

Next steps
Optionally disable ECL logging for faster connector synchronization.
Optionally disable Service Manager ECL
logging for faster connector
synchronization
Article • 03/16/2023

You can watch this video for a quick overview of this feature. For more details,
continue reading the article.

The Active Directory (AD) and System Center Configuration Manager (SCCM) connectors
in Service Manager can import large amounts of data into the Service Manager
database. In doing so, they not only increase the size of the data table, which is where
the data from the connectors are stored, but they also increase the size of the
EntityChangeLog (ECL) table and history tables considerably. A large ECL table size can
be a problem in some cases; it can slow down the system significantly.

The ECL table, and the history tables in this case, store details about when the data was
brought into Service Manager and the properties that were added or updated for each
data item.

Disabling ECL logging doesn't affect importing data from connectors. Instead, most
logging data doesn't get written to the ECL and history tables, which can result is
significant performance improvement.

Disabled ECL logging isn't automatically turned on. In other words, by default, ECL
logging is enabled. However, you can easily turn on Disabled ECL logging by using a
PowerShell cmdlet.

Disabling ECL logging doesn't turn off logging history data about work items like
incident, change requests, and so on. They'll continue to work as-is.

Any explicit change made by the user to the data imported by the connectors, such
as a user or a computer, is still recorded in the ECL and history.

History of using the data that is imported by the connector is also recorded despite
disabling ECL logging. For example, if a computer that was imported by the SCCM
connector is added to an incident or a user is assigned as the affected user, then
those changes are still recorded in the system.

Disabling ECL logging is currently limited to the SCCM and Active Directory
connectors only.
When Service Manager is installed, by default, ECL logging is enabled.

Benefits of disabling ECL logging


When you disable ECL logging:

The connector sync time is reduced significantly. During testing at Microsoft, a


65% increase in performance for the SCCM connector and a 55% increase in
performance for the Active Directory connector was verified.

The size of the ECL table and the history tables won't increase. During the Active
Directory connector test, it brought in 2.2 million rows and in the SCCM connector
test, it brought in 11.6 million rows in ECL and history table. With the feature
enabled, no rows are added into these tables.

Disadvantages of disabling ECL logging


Here are some disadvantages of this feature:

You can't create DCM incidents when you disable ECL logging.

Some Service Manager users have created user-defined workflows that monitor data
being imported by connectors. If you've defined workflows that need to be triggered
when the data is imported by connectors, then enabling this feature won't trigger those
workflows. Because the workflows look into the ECL table for entries and this feature
doesn't log entries in the ECL table, these workflows won't work. In this case, you
shouldn't disable ECL logging.

Because entries aren't written to the ECL and history table, the history of the creation
and/or the changes to data items imported by connectors in Service Manager aren't
recorded. In other words, if you disable ECL logging you can't determine when a user or
a computer object was imported into the Service Manager database and/or when
changes to these objects are imported into the Service Manager database.

In some cases, changes to data like users and computers need be recorded in the
database for auditing purposes. In this example, an alternative is to get the change
history from the source. For example, would need to get the history of changes made to
the user from Active Directory or get the history of changes made to the computer from
Configuration Manager.
Additional information about disabling ECL
logging
With System Center 2016 - Service Manager, ECL logging is disabled by default for both
the new installations and upgrades, regardless of whether your disabled ECL logging
previously. Settings that you might have used previously are no longer used. You'll need
to use the procedure below to disable ECL logging.

If you used a registry entry previously to disable ECL logging, the registry value remains
on your management server. You can manually delete the ConnectorLoggingDisabled
REG_DWORD under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System
Center\2010\Common\SDK Service key.

Disable ECL logging


Use the following procedure to disable ECL logging for connectors.

To disable ECL logging for SCCM and Active Directory


connectors

 Tip

You can read the ECL logging disable for SCCM and AD connector status with the -
Get-SCSMClassInstance (Get-SCSMClass -Name
"System.GlobalSetting.ConnectorEclLogSettings") cmdlet in the Service Manager

shell. The value of ConnectorEclLogDisabled in your output when set to 0 means


that all the ECL logs are enabled. The value of ConnectorEclLogDisabled in your
output when set to 1 means that ECL logs are disabled for SCCM and AD
connectors.

1. Open a Service Manager PowerShell command as an administrator on the primary


Management Server.

2. Run the following command in the Service Manager shell:

Get-SCSMClassInstance (Get-SCSMClass -Name


"System.GlobalSetting.ConnectorEclLogSettings") | %
{$_.ConnectorEclLogDisabled = 1 ; $_} | Update-SCSMClassinstance
To re-enable ECL logging
Replace the value 1 in the previous procedure with 0 and run the command.

Next steps
Read Configuration items to learn about how they store information about
services, computers, software, software updates, users, and other undefined
imported objects in the Service Manager database.
Configuration items in System Center -
Service Manager
Article • 04/28/2023

Configuration items (CIs) are a way to store information about services, computers,
software, software updates, users, and other undefined imported objects in the Service
Manager database in Service Manager. You can select configuration items when you
submit forms, such as an incident form, a change request form, or a work item form.

A service is a special kind of configuration item that includes both technical and
business data. It supports troubleshooting and impact analysis by showing critical
dependencies, settings, and areas of responsibility to other configuration items. The key
benefit of using services is that you can easily see when incidents affect configuration
items because services are viewed as a map or hierarchy of items. A service also
identifies service owners, key customers, and users. Because a service maps the
relationships between configuration items and work items, you should use services to
help manage work items.

You can use connectors to import a large number of configuration items from Active
Directory Domain Services (AD DS), Configuration Manager, and Operations Manager,
or you can manually create single CIs. You can also use the Operations Manager CI
connector to import distributed applications in Operations Manager as a service.

7 Note

When you open a view to display a large number of items - typically, more than
5,000 - the view can take a few minutes to display complete results.

Manually create configuration items


You might have to create a configuration item to add computers that don't exist in
Active Directory Domain Services (AD DS) and that aren't managed by Configuration
Manager to the Service Manager database.

Additionally, you might have to manually create a new user configuration item to be
used in the Affected User box in incidents created by Operations Manager.

You can use the following procedures to manually create two computer configuration
items. However, you can also use the same procedures to add software, printers, or
software updates in Service Manager. After you add the two computers, you can identify
them as a service.

Select the required tab to create the configuration items:

Manually create a computer configuration item

Follow these steps to manually create a computer configuration item:

1. In the Service Manager console, select Configuration Items.


2. In the Configuration Items pane, expand Configuration Items, and then
expand Computers.
3. Select All Windows Computers. In the Tasks pane, under Computers, select
Create Computer.
4. In the form that appears, create a configuration item for a computer, such as
Exchange01.woodgrove.com. On the General, Software, and Related Items
tabs, enter information about the computer.
5. Select OK to save the new configuration item.
6. Repeat step 3 through step 5 to create a second computer, such as
Exchange02.woodgrove.com.

Validate the manually created configuration item


Verify that the computer you added appears in the Computers pane.
Verify that the user you added appears in the Users pane.

Create a service
You can use the following procedures to create a service in Service Manager. You should
create and define business services that are critical to your enterprise. When you create
a service, you create service configuration items, you define their business data, and you
define relationships to other configuration items.

In the first procedure, you manually create a service from configuration items that are
already present in Service Manager. This is a simple example and requires little other
than a few existing configuration items.

In the second procedure, you view an edit a distributed application that was imported
from Operations Manager. The prerequisites for this example can be complex,
depending on the distributed applications that you've created in Operations Manager.
The following are high-level steps needed to import distributed applications from
Operations Manager into Service Manager as services:

1. In Operations Manager, export each management pack that contains a component


for your distributed application. Ensure that you export all management pack
dependencies.

7 Note

You might need to download management packs or install them from the
installation folder of your Operations Manager Root Management Server.

2. In Service Manager, import the management pack that contains the distributed
application and its dependencies. A new, empty business service should appear in
Business Services in the Configuration Items workspace.

3. Browse to Administration and then Connectors and ensure that you refresh the
list of management packs. Then, synchronize the Operations Manager
configuration items connector. When the synchronization is complete, the service
components appear in the Configuration Items workspace under the business
service.

Generally, you should construct service maps that are 3-5 levels deep. Components
of a service map should vary from 5-20 at each level. However, the total number of
components shouldn't exceed few hundred. This recommendation depends on the
complexity of the service map, but keeping the number of components lower that
a few hundred still provides reasonable response times, as you navigate
throughout service map tree view. While the service map tree view expansion is
still in progress, even for larger tree structures, the Service Manager console
remains responsive. Service maps aren't designed to handle a large number of
components; as a result, we recommend that you keep your service map tree
structures small.

Manually create a service for an IT messaging application


Follow these steps to manually create a service for an IT messaging application:

1. In the Service Manager console, select Configuration Items.

2. In the Configuration Items pane, expand Configuration Items, and then expand
Business Services.
3. Select All Business Services, and then in the Tasks pane, under Business Services,
select Create Service.

4. In the form that appears, select the General tab. In the Display Name box, enter
the name of the service to create. For example, enter IT Messaging Service.

5. In the Classification list, select E-mail and Communication. In the Owned By


Organization box, enter the person or organization that provides the service. For
example, enter Exchange Team.

6. In the Priority list, select Medium. In the Status list, select In Service.

7. Next to the Service owner box, select the ellipsis button (...). Select the user who
owns the service.

8. Next to the Service contacts box, select Add to select and add users who are
contacts for the service.

9. Next to the Service customers box, select Add to select and add users who are
business unit customers of the service.

10. Next to the Affected users box, select Add to select and add users or groups who
use the service.

11. Select the Service Components tab to define the items on which the service
depends.

12. Select Add Category. In the Choose Class dialog, select Computers Group, and
select OK.

13. Under Service Components, select ComputersGroup, and select Add Item.

14. In the Select Objects dialog, under Filter by class, select Computer. Next, select
individual computers to add to the group, and then select OK. For example, add
Exchange01.woodgrove.com and Exchange02.woodgrove.com.

7 Note

You can select only one object at a time. Don't attempt to add multiple
objects.

15. In the tree, select Service Components, and select Add Category. In the Choose
Class dialog, select Other Components Group, and select OK.
16. In the tree, select OtherComponentsGroup, and select Add Item. In the Select
Objects dialog, under Filter by Class List, select Services, and then select Active
Directory Topology Root. Next, select OK.

17. Select the Service Dependents tab to define the items that use the service or are
external to the service. For example, define other configuration items or services
that use the new service.

18. Select OK to save the new configuration item.

View and edit a distributed application that was imported


from Operations Manager
Follow these steps to view and edit a distributed application that was imported from
Operations Manager:

1. In the Service Manager console, select Configuration Items.


2. In the Configuration Items pane, expand Configuration Items, expand Business
Services, and select All Business Services.
3. In the All Business Services pane, select the distributed application that you
created in Operations Manager.
4. In the Tasks pane, under the title of the distributed application, select Edit.
5. In the Service Maps - DistributedApplicationName dialog, select the Service
Components tab to view the items defined in the Operations Manager distributed
application. Then, expand the Service Components tree three levels.
6. Select any configuration item, and select Open to view or edit its properties.

View dependent services


Follow these steps to view dependent services:

1. In the Service Manager console, select Configuration Items.


2. In the Configuration Items pane, expand Configuration Items, expand Business
Services, and select All Business Services.
3. Select the DistributedApplicationName. In the Tasks pane, under
DistributedApplicationName, select Edit.
4. In the form that appears, select the Service Dependents tab. Services that use the
new service are listed. For example, IT Messaging Service appears in the list.
5. Select OK.

Create a view for imported configuration items


You can use the following procedures in Service Manager to:

Create a view for imported Microsoft SQL Server database configuration items
View the items in a dynamically generated form

You can view and edit items that were imported from a System Center Operations
Manager configuration item (CI) connector. However, Service Manager doesn't have
system-defined views or forms for some items. For example, Service Manager doesn't
have a defined view for SQL Server databases, so you must manually create a view to
see these configuration items. Although Service Manager doesn't have a predefined
form for SQL Server databases or for many other objects that you might have imported,
you can still view any configuration item in a dynamically generated form (if you created
a view for those items).

Before you use these procedures, ensure that you import the SQL Server management
packs for Operations Manager and for Service Manager. Although these procedures rely
on SQL Server databases imported from Operations Manager, you can use the same
steps to view other imported configuration items that don't have system-defined views
or forms.

Create a view for imported SQL Server database


configuration items
Follow these steps to create a view for imported SQL Server database configuration
items:

1. In the Service Manager console, select Configuration Items.


2. In the Configuration Items pane, expand Configuration Items, and select All
Windows Computers.
3. In the Tasks pane, under Computers, select Create View.
4. In the Create View dialog, on the General page, in the Name box, enter a name for
the new view. For example, enter SQL Server Databases.
5. In the Description box, enter a description of the view you're creating. For
example, enter This view displays SQL Server databases from Operations
Manager.
6. Expand the Criteria area. Next to Search for objects of a specific class, select
Browse.
7. In the Select a Class dialog, in the View list, select All basic classes.
8. In the Search box, enter SQL, and select the search button (blue magnifying glass).
9. In the Class list, select SQL DB, and select OK.
10. Select the Display tab. In the Columns to display list, select Database Name and
Database Size (MB) String, and select OK.
11. Select the SQL Server Databases view to see the list of the imported SQL Server
databases.

View and edit imported SQL Server database


configuration items
Follow these steps to view and edit imported SQL Server database configuration items:

1. Select the SQL Server Databases view that you created, and then select any item in
the list. Notice that the Preview pane shows detailed information about the
selected item.
2. Double-click any item in the list to view the item in a dynamically generated form.
3. Optionally, you can edit various fields for the item in the same manner as you do
for other configuration items.
4. Optionally, you can perform actions in the Tasks list, in the same manner as you do
for other configuration items.
5. If you've made any changes to the item, select OK; otherwise, select Cancel to
close the form.

You can use Windows PowerShell commands to display views that are defined in
Service Manager. For more information, see Get-SCSMView.

Delete configuration items


Deleting configuration items is a two-step process, and only members of the Advanced
Operators, Authors, and Administrators user roles can initiate the Delete process in
Service Manager. The first step doesn't delete configuration items directly. Instead, this
process changes the property values of a configuration item so that the item will only be
displayed in a Deleted Items view. The state of the configuration item is changed from
Active to Pending Delete. A Service Manager administrator can later sign in and
permanently delete the configuration item from the Service Manager database.

You can use the following procedures to initiate the deletion of a configuration item in
Service Manager and validate the initiation of the deletion. Only users who are members
of the Advanced Operators, Authors, or Administrators user role can initiate the deletion
of a configuration item. Only users who are members of the Administrators user role can
complete the deletion of a configuration item.

Initiate the deletion of a configuration item


Follow these steps to initiate the deletion of a configuration item:
1. Sign in to a computer that hosts the Service Manager console by using a user
account that is a member of the Advanced Operators, Authors, or Administrators
user role.
2. In the Service Manager console, select Configuration Items.
3. In the Configuration Items pane, expand Configuration Items, expand Computers,
and select All Windows Computers.
4. In the All Windows Computers pane, select the computer to be deleted.
5. In the Tasks pane, under the name of the computer that you selected in the
previous step, select Delete.
6. In the Delete Item dialog, confirm your selection, and select Yes.

Validate that the deletion of a configuration item has


been initiated
1. In the Service Manager console, select View, and select Refresh. Or, press F5.

2. Verify that the configuration item you selected is no longer displayed.

7 Note

At this point, the configuration item has been moved to a Deleted Item view
that is only available to members of the Administrator user role. An
administrator must permanently delete the configuration item.

You can use Windows PowerShell commands to complete these tasks, as follows:

For information about how to use Windows PowerShell to initiate the deletion of a
configuration item by updating the PendingDelete property value, see Update-
SCSMClassInstance.
For information about how to use Windows PowerShell to retrieve items that have
been marked for deletion in Service Manager, see Get-SCSMDeleteditem.

Delete or restore a configuration item


After members of the Advanced Operators, Authors, or Administrators user roles have
initiated the deletion of a configuration item, a Service Manager administrator can use
the following procedures to either permanently delete the configuration item or to
restore the original properties for this item. You may need to refresh the Service
Manager console to update the list of configuration items.
Complete the deletion of a configuration item
Follow these steps to complete the deletion of a configuration item:

1. Sign in to a computer that hosts the Service Manager console by using a user
account that is a member of the Administrators user role.

2. In the Service Manager console, select Administration.

3. In the Administration pane, expand Administration, and select Deleted Items.

4. In the Deleted Items pane, select the configuration items that you want to
permanently delete. You can use the CTRL or SHIFT keys to select multiple
configuration items.

5. In the Tasks pane, select Remove Items.

7 Note

For this release, if you're signed in as an administrator, you'll see three options
in the Tasks pane under the name of the computer: Delete, Remove Items,
and Restore Items. In the Deleted Items view, select only Remove Items or
Restore Items.

6. In the System Center Service Manager dialog, ensure you selected the correct
items, and select Yes.

Restore a configuration item


Follow these steps to restore a configuration item:

1. Sign in to a computer that hosts the Service Manager console by using a user
account that is a member of the Administrators user role.

2. In the Service Manager console, select Administration.

3. In the Administration pane, expand Administration, and select Deleted Items.

4. In the Deleted Items pane, select the configuration items that you want to restore
to the Service Manager database. You can use the CTRL or SHIFT keys to select
multiple configuration items.

5. In the Tasks pane, select Restore Items.


7 Note

For this release, if you're logged in as an administrator, you will see three
options in the Tasks pane under the name of the computer: Delete, Remove
Items, and Restore Items. In the Deleted Items view, select only Remove
Items or Restore Items.

6. In the Delete Item dialog, ensure that you selected the correct items, and select
Yes.

You can use Windows PowerShell commands to complete these tasks, as follows:

For information about how to use Windows PowerShell to permanently remove an


instance of a configuration item object, see Remove-SCSMClassInstance.
For information about how to use Windows PowerShell to restore items that were
previously marked for deletion in Service Manager, see Restore-SCSMDeleteItem.

Update configuration items


You might want to associate a work item to apply a Microsoft Exchange Server service
pack update to the service that represents the computers that are affected by the email
incident. To accomplish this, you can update the service configuration item and then add
the respective work item as a related item.

You can use the following procedures to add information, such as related work items or
files, to configuration items in Service Manager. The procedures in this article describe
only how to add items, but you can follow similar steps to view or remove items.

For example, when you're troubleshooting an incident, you might discover that a
relationship exists between two or more objects. A work item to apply an application
service pack might be related to more than one configuration item. You might need to
update the configuration items to reflect that relationship.

Similarly, work items such as incidents, problems, and change requests are often
interrelated. Related work items share some commonality with each other or with a
configuration item. When a work item affects a particular configuration item, they're
linked.

Add information to configuration items


Follow these steps to add information to configuration items:
1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Configuration Items, and then expand
Computers.
3. Select All Windows Computers. In the All Windows Computers pane, double-click
the computer to which you want to add information.
4. In the computer form, select the Related Items tab.

Select the required tab to add the items or attach files:

Add related services, people, and configuration items

Follow these steps to add related services, people, and configuration items:

1. In the Configuration Items: Computers, Services, and People area, select


Add.
2. In the Select Objects dialog, select a class from the Filter by class list to
narrow the choices available in the Available objects list.
3. In the Available objects list, select the items that you want to add, and select
Add.
4. Select OK to close the dialog and to add the selected items.

Next steps
For configuration scenarios, incident settings, email incident support, and to create an
incident template, see Configure incident management.
Configure Incident Management in
Service Manager
Article • 07/18/2023

This article provides an overview of how to configure Incident management in Service


Manager. This article also contains procedures that cover incident management
configuration scenarios, including configuring incident settings, configuring email
incident support, and creating an incident template.

Several features in Service Manager let you streamline the creation of incidents. You can
configure incident settings such as the following in Service Manager:

Priority calculations that are based on impact and urgency

Target resolution time

Prefixes that are used for incident numbers

Length of time a closed incident remains in the Service Manager database

You can create an incident template to populate certain fields for a specified incident
type, such as email-related problems. Help desk personnel use templates when creating
incidents. The template prepopulates some of the fields in the incident, such as the
name of the support analyst who handles email-related problems.

You can configure incident management to automatically generate incidents based on


desired configuration management for configuration items that aren't in compliance.
This works only if Configuration Manager with desired configuration management
baselines is installed in your environment.

The procedures in this section describe how to configure incidents. You can define
incident priority based on impact and urgency, specify resolution times based on
incident priority, create an incident template, and create a new incident based on
desired configuration management.

Configure incident settings


You can use the procedures in this section to configure settings for incident number
prefixes, file attachment limits, incident priority calculations, resolution times, and
System Center Operations Manager Web settings.
In Service Manager, all the incident numbers start with IR. However, you can change the
prefix that is used for your incident numbers.

The policy at your organization might limit the number of files that can be attached to
each incident to no more than five and to limit the maximum file size for each file at 500
kilobytes (KB).

7 Note

The maximum number of attached files and the maximum file size settings that you
configure also apply to the attached files in the Related Items tab for configuration
items.

Incident priority calculation is rated on a scale from 1 to 9. A priority of 1 is the highest


priority. It's based on a combination of impact and urgency. Impact and urgency
settings are defined as High, Medium, or Low, and they're configured when the incident
is created. The following table shows how to define the incident priority for each
possible combination of impact and urgency.

The resolution time defines how much time it should take to resolve an incident.
Resolution time is based on priority. Typically, you should set resolution times for
higher-priority incidents. The procedures in this section describe how to set the values
for file attachments, incident priority, and resolution time.

You can create a connector to import alerts and configuration items from Operations
Manager. By using the Operations Manager alert connector, Service Manager can create
incidents based on alerts. When you view these incidents in Service Manager, you can
select a link to obtain more information about the alert or about the health state of the
configuration item. Service Manager uses the Operations Manager Web console server
to provide this information. Service Manager uses the URL that you specify in the
Operations Manager Web setting to connect to Operations Manager.

Create an incident template


You can use the procedures in this section to create incident templates in Service
Manager for problems that are, for example, related to email and printers.

When an analyst at the help desk receives a call, there are many pieces of information
that the analyst must gather to create an incident, such as a summary of the problem;
the name of the user to whom the incident will be assigned; the impact; the urgency;
and whether this is a Tier 1, 2, or 3 incident. For some systems in the enterprise, this
information might already be known.

For example, if a problem occurs with the email system, the incident is classified as high-
impact and high-urgency, handled at a Tier 2 level, and assigned to a specific analyst.
You can create an incident template that, when it's applied to a new incident form,
populates many fields in the new incident. This reduces the required time to create an
incident, and it ensures accuracy and consistency.

Incident templates are also used as part of the Incident Change workflow. For example,
your company might have determined that if the urgency of a printer-related problem
changes from Low to High, that incident should automatically be elevated to the Tier 2
level.

You can use the procedures in this section to create two incident templates: one to
create email-related incidents and another to use with the Incident Change workflow for
printer-related problems.

Configure incident support for email


Instead of placing a call to the help desk, your end-users can submit incidents by
sending an email message to a dedicated email address. Several email addresses can be
used, one for hardware, one for software, and one for printers. For example, when a
message is sent to [email protected], Microsoft Exchange Server
copies the message to a drop folder on the computer that is hosting an SMTP Server
service. Service Manager monitors this share and processes the message into an
incident. Service Manager parses the From address and attempts to match the user in
the Service Manager database. If Service Manager can't find the user in the Service
Manager database, the message is moved into a bad folder, and no incident is created.
An administrator monitors the bad folder.

The infrastructure that is required to handle incidents generated by email includes an


existing server running Exchange Server or an SMTP Server and a new server that runs
the SMTP service for Service Manager. For this new server, use Internet Information
Services\(IIS)\SMTP services (which is included with Windows Server) on either the
computer that is hosting the Service Manager management server or on a separate
remote server.

Delegate one of the existing servers that is running Exchange Server or SMTP Server in
your enterprise to route all email messages addressed to the help desk, and then
configure the IIS SMTP service for use with Service Manager. Providing precise
instructions for various versions of Exchange Server or SMTP Service is beyond the
scope of this article.

Set file attachment limits in Service Manager


Use the following procedure to limit the number and size of files that can be attached to
an incident in Service Manager. In this example, set the maximum number of files to 5
and the maximum file size to 500 kilobytes (KB).

Set file attachment limits


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Incident Settings.
4. In the Tasks pane, under Incident Settings, select Properties.
5. In the Incident Settings dialog, select General.
6. Set Maximum number of attached files to 5.
7. Set Maximum size (KB) to 500, and select OK.

Validate file attachment limits


When you create a new incident or edit an existing one, no more than five files can
be attached, and each file can be no larger than 500 KB.

Set parent incident options


Use the following procedure to set default options for parent and child incidents in
Service Manager. The default options determine whether the child incidents
automatically resolve, whether the child incidents automatically activate, or whether the
child incident status automatically updates.

When choosing to automatically resolve child incidents or automatically reactivate child


incidents when its parent is resolved or when its parent is reactivated, you can prompt
the resolving analyst for their decision. When prompted, an analyst can choose a
resolution category or activation status. Otherwise, when incidents are automatically
resolved or activated, the analyst isn't prompted and the changes are effective
immediately using the parent incident settings.

Select the required tab for steps to automatically resolve, activate, or update child
incidents:

Resolve child incidents

Follow these steps to automatically resolve child incidents:

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Incident Settings.
4. In the Tasks pane, under Incident Settings, select Properties.
5. In the Incident Settings dialog, select Parent Incident and then choose one of
the following actions:

If you want to automatically resolve a child incident when its parent is


resolved without any analyst interaction, set Auto resolution of child
incidents to Automatically resolve child incidents when parent incident
is resolved, and then choose either Same as parent incident category or
Choose a child incident category and a default resolution category.
If you want to automatically resolve a child incident when its parent is
resolved and have an analyst review and verify the incident resolution
category, select Auto resolution of child incidents to Let the analyst
decide when resolve the parent incident and then choose either Same
as parent incident category or Choose a child incident category and a
default resolution category.
If you don't want child incidents to automatically resolve, select Auto
resolution of child incidents to Do not resolve child incidents when
parent incident is resolved.

6. Select OK.

Set incident priority in Service Manager


Use the following procedure in Service Manager to define a priority calculation table
based on impact and urgency settings that are defined during the creation of an
incident.
Set incident priority
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Incident Settings.
4. In the Tasks pane, under Incident Settings, select Properties.
5. In the Incident Settings dialog, select Priority Calculation.
6. For each of the High, Medium, and Low settings for both impact and urgency,
select an incident priority value from 1 through 9, and select OK.

Validate incident priority


When you create a new incident or edit an existing one, the resulting priority
setting must match the value that is entered in the table for a specific High,
Medium, and Low setting that is defined for impact and urgency.

Set the default incident resolution time


Use the following procedure to set a resolution time based on incident priority in
Service Manager.

Set resolution time


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Incident Settings.
4. In the Tasks pane, under Incident Settings, select Properties.
5. In the Incident Settings dialog, select Resolution Time.
6. For each of the priority settings of 1 through 9, specify the amount of time for
incident resolution.
7. Select OK.

Validate resolution time


When you create a new incident or edit an existing one, the resulting resolution
times for an incident match the values that are defined in the preceding
procedures.
Set Operations Manager web settings in
Service Manager
Use the following procedures to set the web settings of System Center Operations
Manager in Service Manager and validate the settings.

Set Operations Manager web settings


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Incident Settings.
4. In the Tasks pane, under Incident Settings, select Properties.
5. In the Incident Settings dialog, select Operations Manager Web Settings.
6. In the Web Console URL box, enter the URL of the Operations Manager 2007 web
console server, and select OK. For example, enter http://servername:51908 , where
servername is the name of the computer hosting the web console server.

Validate Operations Manager web settings


Ensure that you can access the web console server by entering
http://servername:51908 into your browser, where servername is the name of the

computer hosting the web console server.

Configure email incident support for Exchange


Server
Use the following procedures to configure your Microsoft Exchange Server infrastructure
to support the creation of incidents through email.

Install and configure the SMTP server


1. Sign in with administrative credentials on the server that will host the Simple Mail
Transfer Protocol (SMTP) server role.

7 Note

A server running Exchange Server can't be your SMTP server.


2. Select Start, navigate to All Programs, Administrative Tools, and select Server
Manager.

3. In Server Manager, select Features, and in the Features pane, select Add Features.

4. In the Select Feature window, select SMTP Server.

5. The Add Features Wizard appears. If the dependent role services aren't already
selected, you're prompted to add role services and features for the SMTP server.
Select Add Required Role Services.

6. On the Select Features page, select Next.

7. On the Web Server (IIS) page, select Next.

8. On the Select Role Service page, select Next.

9. On the Confirm Installation Selections page, select Install.

10. When the Installation Results page appears, select Close to exit the wizard.

Configure the IIS SMTP server service for Service


Manager
1. On the server that is hosting the SMTP server service, open Administrative Tools,
and select Internet Information Services (IIS) Manager.

2. Expand the SMTP server until you see SMTP Virtual Server #1. The SMTP server
might have a different name, but it appears with an email icon.

3. Right-click SMTP Virtual Server #1, select Rename, and then enter the name of
your server.

4. Expand Domains, and then rename the domain to the fully qualified domain name
(FQDN) of the server or the domain name that you want to use.

7 Note

This can't be the same domain that the server is a member of. However, it can
be a child domain.

For example, if the domain name is contoso.com, you use a server name that
resembles server.contoso.com.
5. Using the server name from step 3, right-click the server name, and select
Properties.

6. Select the Access tab, and select Relay.

7. On the Relay Restrictions tab, select All except the list below, select Allow all
computers which successfully authenticate to relay regardless of the list above,
and select OK.

8. Select the Delivery tab, and select Advanced.

9. In the Advanced Delivery window, enter the values as shown here:


a. For Masquerade Domain, enter your root domain name; for example,
contoso.com.
b. For the FQDN, enter your Exchange server name; for example,
exchange.contoso.com.
c. For Smart host, enter your Exchange server name; for example,
exchange.contoso.com.
d. Select OK, and select OK again to close the Advanced Delivery window.

10. Close IIS Manager, open Windows Explorer, and navigate to


SystemDrive:\Inetpub\Mailroot.

11. Create two child folders. Name the first folder Badmail, and name the second
folder Drop.

12. Right-click the SystemDrive:\Inetpub\Mailroot folder, and select Share.

13. For sharing permissions, select the domain user that you specified for the Service
Manager account, select Contributor, select Share, and select Done.

14. Restart the Simple Mail Transfer Protocol (SMTP) service, ensure that it's set to
Automatic, and verify that it has started.

Configure Service Manager for email


1. Open the Service Manager console, and select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, double-click Incident Settings.
4. Scroll to Incoming E-mail.
5. In The SMTP Service drop folder location, enter the path, share, and folder for the
Drop folder. In this example, enter computer_name\mailroot\Drop, where
computer_name is the name of the computer that is hosting the SMTP Server
service, Mailroot is the share name, and Drop is the subfolder name.
6. In SMTP Service bad folder location, enter the path, share, and folder to the
Badmail folder. In this example, enter computer_name\Mailroot\Badmail where
computer_name is the name of the computer that is hosting the SMTP Server
service, Mailroot is the share name, and Badmail is the subfolder name.
7. In Maximum number of e-mails to process at a time, enter a number for the
emails that you want Service Manager to process during an email processing cycle.
8. Select Turn on incoming e-mails processing, and select OK.

Configure email notifications


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Notifications, and select Channels.
3. In the Channels pane, select E-Mail Notification Channel.
4. In the Tasks pane, under E-Mail Notification Channel, select Properties to open
the Configure E-Mail Notification Channel dialog.
5. Select Enable e-mail notifications, and select Add.
6. In the Add SMTP Server dialog, enter the FQDN of the SMTP server that you want
to use. For example, enter Servername.domain.com.
7. In Port number, enter or select the SMTP port number that you want to use. For
example, select 25.
8. Select Add, and in the Add SMTP Server dialog, enter the FQDN of the SMTP
server that you want to use. For example, enter Exchange.domain.com, and
replace the information with your Exchange domain name information.
9. In Port number, enter or select the SMTP port number that you want to use. For
example, select 25.
10. In Authentication method, select Anonymous, and select OK.
11. In Return e-mail address, enter the email address of the service account that was
used during Setup. For example, enter [email protected].
12. In Retry primary after, enter or select the number of seconds that you want
Service Manager to wait before trying to resend outgoing email notifications. For
example, select 25.
13. Select OK to close the dialog.

Validate email notification configuration


1. In the Channels pane, select E-Mail Notification Channel.
2. In the Tasks pane, under E-Mail Notification Channel, select Configure to open
the Configure E-Mail Notification Channel dialog.
3. Confirm that the configuration you entered is correct.
Configure Exchange Server for use with Service Manager
In the following procedures, you configure Exchange Server for use with Service
Manager. You perform these procedures on the server that hosts Exchange Server.

Configure the Organization Hub Transport

1. In Exchange Server, select Organization Configuration, and select Hub Transport.


2. In the Hub Transport window, select the Accepted Domains tab.
3. In the Actions pane, select New Accepted Domain.
4. In the New Accepted Domain Wizard, on the New Accepted Domain page, in the
Name box, enter a descriptive name. For example, enter From SMTP Server, and in
Accepted Domain, enter the SMTP domain name that you created for Service
Manager. For example, enter *.Servername.domain.com.
5. Select Authoritative Domain, and select New.

Configure the Server Configuration Hub Transport

1. In Exchange Server, navigate to Server Configuration, and select Hub Transport.

2. In the Actions pane, select New Receive Connector to open the New Receive
Connector Wizard.

3. In Name, enter a name that identifies the Service Manager SMTP server, select
Custom for the intended use, and select Next.

4. On the Local Network Settings page, accept the default value, leave the FQDN
box empty, and select Next.

5. On the Remote Network Settings page, remove the existing IP address, enter the
IP address of your Service Manager SMTP server, and select Next.

6. On the New Connector page, select New to complete the wizard.

7. Double-click the newly created Receive Connector to open its properties, select
the Authentication tab, and then clear any items that are selected.

8. Select the Permissions Groups tab, select only Anonymous users, and select OK.

9. To grant relay permission to anonymous connections on the new receive


connector, open Exchange Management Shell, enter the following, and then press
ENTER:
Get-ReceiveConnector "Anonymous Relay" | Add-ADPermission -User "NT
AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-
Recipient"

10. Close Windows PowerShell.

Configure the mail contact in Exchange


1. In Exchange Server, navigate to Recipient Configuration, and select Mail Contact.
2. In the Action pane, select New Mail Contact.
3. In the New Mail Contact Wizard, select New contact, and select Next.
4. In Name, enter the name that you want to use as the Service Manager return email
address, without @domain.com. For example, enter Helpdesk.
5. In Alias, enter the name that you want users to use as the Email Alias name. For
example, enter Helpdesk.
6. Edit the External e-mail address, and enter the FQDN for the email address. For
example, enter [email protected].
7. Select Next, and select New to complete the wizard.

Test email functionality between the SMTP server and the Exchange
server

1. Using Windows Explorer on the SMTP server, create a new text file named
TESTEMAIL.

2. Remove the TXT file name extension from the new file.

3. Right-click the TESTMAIL file, and select Open.

4. When you're prompted to open the file with a program, select Notepad, and select
OK.

5. In the file, enter the following using your own information, similar to the following
example:

to:[email protected]
from:[email protected]

Subject:This is an email test.

This is a test

6. Save the file without a file name extension, and then close Notepad.

7. Copy the file to a location where you can use it in the future for testing.

8. Copy the file into the SystemDrive:\inetpub\mailroot\Pickup folder.

7 Note

The file should be removed automatically. This indicates that the Exchange
server is using it.

9. Using the user credentials for the To recipient that you entered previously, open
Outlook and confirm that the email was received.

Create Service Manager incident templates


Use the following procedures to create two incident templates in Service Manager. The
first you use to create email-related incidents, and the second you use with the Incident
Change workflow for printer-related problems.

Select the required tab for steps to create an email-related or a new printer-related
incident template:

Email-related incident template

Follow these steps to create an email-related incident template:

1. In the Service Manager console, select Library.


2. In the Library pane, expand Library, and select Templates.
3. In the Tasks pane, in the Templates area, select Create Template.
4. In the Create Template dialog, complete these steps:
a. In the Name box, enter a name for the incident template. For example,
enter E-mail Incident.
b. In the Description box, enter a description for the incident template. For
example, enter Use this template to start all email-related incidents.
c. Select Browse to choose a class.
d. In the Choose Class dialog, select Incident, and select OK.
e. In the Management Pack list, select Service Manager Incident
Management Configuration Library, and select OK.
5. In the incident template form, complete these steps:
a. Leave the Affected user box empty.
b. Leave the Alternate contact information box empty. Alternate contact
information for the affected user is entered when the incident is created.
c. In the Title box, enter a title for the template. Or, enter a preface, such as
Email:.
d. In the Classification Category box, select the category that reflects the
problem to report. For example, select E-mail Problems.
e. Leave the Source box empty. The Source box is automatically populated
when the incident is created.
f. In the Impact box, select a value. For example, select High. In the Urgency
box, select a value. For example, select High.
g. In the Support Group box, select a tier. For example, if you want all email-
related issues to be assigned to the tier 2 support group, select Tier 2.
h. Select OK.

Validate that the new incident template was created


Verify that the new incident templates are listed in the Templates pane.

Next steps
To measure incident and service request timeliness, see Configure service level
management.
Configure Service Level Management
Article • 05/19/2023

This article provides an overview of how to configure service level management in


Service Manager. This section also contains procedures that cover service level
management configuration scenarios.

Service level management is the process that you use to measure incident and service
request timeliness. In Service Manager, you create a service level item that consists of
queues that correspond to each service level, plus time metrics to measure and warn for.
Separately, you can also send notifications to users that occur before and after service
level breach. In the Service Manager console, you manage this process in the
Administration workspace using the following nodes:

Calendar
Metric
Service Level Objectives

Calendar
The Calendar node is used to define work days, work hours, and holidays as a calendar
item in the Service Manager console. Each calendar item is a distinct work schedule that
represents time available for analysts to resolve incidents and fulfill service requests.
Calendar items correspond to at least one service level objective where it's measured by
a time metric, such as resolution time.

Metric
The Metric node is used to define time metrics against a calendar item, corresponding
to a service level objective. A time metric is the measurement between start and end
dates. There are two predefined metrics in Service Manager:

Resolution Time

Completion Time

The Resolution Time metric is used to measure the maximum length of time that
incidents should take before they're resolved. By default, the two points in time that
define Resolution Time are the start date as the date and time that each incident is
created and the end date as the date and time that each incident is resolved.
The Completion Time metric is used to measure the maximum length of time that
service requests should take before they're completed. By default, the two points in time
that define Completion Time are the start date as the date and time that each service
request is created and the end date as the date and time that each service request is
completed.

Service level objectives


The Service Level Objectives node is used to create relationships between a queue and a
service level. It's also used to define the relationship between a calendar item and a time
metric. Separately, you can also send notifications to users that occur before and after
service level breach.

Create or edit a calendar item


You create a calendar item to define work days, work hours, and holidays in Service
Manager. After you create a calendar item, you'll use it as part of a service level
objective, where it's measured against a time metric.

Create a calendar item


Follow these steps to create a calendar item:

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Service Level Management, and select
Calendar.
3. In the Tasks pane, under Calendar, select Create Calendar.
4. In the Create/Edit Calendar dialog, in the Title box, enter a title for the calendar.
For example, enter Normal Work Calendar.
5. In the Time zone list, select the time zone of your location.
6. Under Working days and hours, select the work days of your organization and for
each selected day, enter the start and end time for each day.
7. Under Holidays, select Add to define any holidays that your organization doesn't
normally work. In the Add Holiday dialog, enter the name and select the date of
the holiday and select OK to close the dialog.
8. Select OK to close the Create/Edit Calendar dialog.

Edit a calendar item


You edit a calendar item in Service Manager to update work days, work hours, and
holidays. After you edit a calendar item, you'll use it as part of a service level objective,
where it's measured against a time metric. If the calendar is already associated with a
service level objective, it appears in the Related SLA(s) area.

7 Note

When you update an existing calendar item, the update is effective for incidents
and service requests created afterward; however, the updates don't affect the
existing incidents.

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Service Level Management, and select
Calendar.
3. In the Calendar list, select an existing calendar, and then in the Tasks pane, under
CalendarName, select Properties.
4. In the Create/Edit Calendar dialog, modify any of the following items, as needed:

Title
Time zone
Working days and hours
Holidays

5. Select OK to close the Create/Edit Calendar dialog.

Create or edit SLA metrics


You can create a service level management metric, which is analogous to service level
agreements (SLAs), as a time metric to measure the difference between start and end
times for incidents and service requests. After you define a metric, you associate it with a
service level objective. If the metric is already associated with a service level objective, it
appears in the Related SLA(s) area.

Select the required tab for steps to create a metric for incidents or service requests:

Create a metric for incidents

Follow these steps to create a metric for incidents:

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Service Level Management, and select
Metric.
3. In the Create/Edit SLA Metric dialog, in the Title box, enter a title for the
metric. For example, enter Incident Metric.
4. In the Description box, enter a description of the metric. For example, enter
Time that incidents are resolved.
5. Under Class, select Browse to open the Select a Class dialog, select Incident,
and then select OK to close the dialog.
6. Select the list next to Start date and then select the item that you want to use
to define the start date. For example, select First assigned date.
7. Select the list next to End date, and then select the item that you want to use
to define the end date. For example, select Resolved date.
8. Select OK to close the Create/Edit SLA Metric dialog.

Edit SLA metrics


In Service Manager, you edit a service level agreement (SLA) metric to update the title,
start date, and end date. After you edit a metric, you associate it with a service level
objective. If the metric is already associated with a service level objective, it appears in
the Related SLA(s) area.

7 Note

You should avoid making changes to an SLA metric that is in use because changing
it might cause performance problems. If possible, edit in-use SLA metrics during a
period of minimal system use, such as during a maintenance period.

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Service Level Management, and select Metric.
3. In the Metric list, select an existing metric, and then in the Tasks pane, under
MetricName, select Properties.
4. In the Create/Edit Metric dialog, modify any of the following items, as needed:

Title
Description
Start date
End date

5. Select OK to close the Create/Edit Metric dialog.

Modify an SLA metric view


You can use the following procedures to customize an SLA view.

Views let you group SLA metrics that share certain criteria. However, when you
personalize changes to a view, those changes aren't saved. For example, you can
customize the Metrics view, but if you change column widths, column sorting, grouping,
or if you remove columns, the next time you return to the view, it displays information in
the same manner as it did before you personalized it.

Personalize an SLA metric view


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Service Level Management, and then select
Metric.
3. Right-click any view column heading to resize columns, to remove items from the
results, or to change column sorting and grouping. Repeat this step until you're
satisfied with the results.
4. You can also enter in the Filter box to show results that are limited items that
match what you entered.

Create or edit a service level objective


You create a service level objective to create relationships between a queue and a
service level, a calendar item and a time metric, and actions that occur before or after
service level breaches. Afterward, when you view incidents or service requests and they
approach their warning time, you'll see a notification bar stating that the item is about
to breach. You can also create periodic notifications if you want analysts to receive
emails for incidents or service requests that might breach their service level objective.

In order to create a service level objective, it's easier if you've already created or defined
a calendar item and an SLA metric. Additionally, the service level objective that you
create is linked to a queue. The queue that you associate to a service level objective
must target the same type of work item, based on its class; otherwise, the queue won't
be available when you create the service level objective.

Create a service level objective


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Service Level Management, and select
Service Level Objective.
3. In the Tasks pane, under Service Level Objectives, select Create Service Level
Objective.
4. In the Create Service Level Objective Wizard, on the Before You Begin page, select
Next.
5. On the General page, in the Title box, enter a name for the new service level
objective.
6. In the Description box, enter a description of the service level objective.
7. Next to Class, select Browse to Open the Select a Class dialog and then select a
class pertinent to the type of service level objective you're creating. Normally, you
should choose either Incident or Service Request.
8. Ensure that Enabled is selected, and select Next.
9. On the Service Level Criteria page, select a calendar and a time metric, or you can
create new ones.
10. Under Target, specify the amount of time in hours or minutes that the work item
should be completed by.
11. Under Warning threshold, specify the amount of time in hours or minutes before
the service level is beached, which causes a warning notification in the work item
notification bar, and select Next.
12. On the Summary page, confirm the choices you made and select Create.
13. On the Completion page, select Close.

Edit a service level objective


You can edit a service level objective to modify relationships between a queue and a
service level, a calendar item and a time metric, and actions that occur before or after
service level breaches. Afterward, when you view incidents or service requests and they
approach their warning time, you'll see a notification bar stating that the item is about
to breach. You can also create periodic notifications if you want analysts to receive email
for incidents or service requests that might breach their service level objective.

The service level objective that you edit is linked to a queue. If you want to modify the
association of queue to a service level objective, the service level objective must target
the same type of work item as the queue based on its class; otherwise, the queue won't
be available when you modify the service level objective.

Modify a service level objective


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Service Level Management, and select
Service Level Objective.
3. In the Service Level Objectives list, select an existing service level objective, and
then in the Tasks pane, under ServiceLevelObjectiveName, select Properties.
4. In the Edit SLO dialog, modify any of the following items, as needed.
Title
Queues
Service Level Criteria

5. Select OK to close the Edit SLO dialog.

View SLA information in an incident form


As you're working with incidents, it's easy to tell when an incident's service level is about
to or has been breached by viewing incidents in the Assigned To Me view and then
looking for information in the Service Level Target column.

If you're already in an incident form and an incident is about to breach, a notification


bar is displayed in the form while on the General tab stating that One or more Service
Level Objectives are about to breach. You can view additional information about the
service level status on the corresponding tab and see that the status shown is a warning.

When an incident has already been breached, no notification bar is displayed in the
form while you're on the General tab. However, you'll see breached status while you're
on the Service Level tab if that incident's service level objective has breached.

Select the required tab for steps to view warning or breached SLA information in an
incident form:

View warning SLA information

Follow these steps to view the warning SLA information in an incident form:

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Incident Management, and select Incidents
with Service Level Warning.
3. In the Incidents with Service Level Warning list, select an incident, and then in
the Tasks pane, under IncidentID-IncidentName, select Edit.
4. In the Incident IncidentID-IncidentName - Status form, observe the One or
more Service Level Objectives are about to breach warning.
5. Select the Service Level tab, and observe the status of the incident as
Warning. You can also see other information about the incident, most notably
Time Before SLA Breached.
6. Select OK to close the incident.
Review incidents with SLA information
You can use the following procedure to view incidents that have a service level objective
associated with them.

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Incident Management, and select Incidents with
Service Level Warning or Incidents with Service Level Breached.
3. In the list of incidents, notice the time that is displayed for Service Level Target.

Send SLA notification information to the


assigned-to user
You can send notifications to analysts who are responsible for incidents when each
incident is within the warning period of its service level objective. Because periodic
notifications require a large amount of system resources, the following example notifies
the analyst once when the service level objective goes to a warning state.

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Notifications, and select Subscriptions.
3. In the Tasks pane, select Create Subscription to open the Create E-Mail
Notification Subscription Wizard.
4. On the Before You Begin page, read the instructions, and select Next.
5. On the General page, complete these steps:
a. In the Notification subscription name box, enter a name for the subscription
for the service level objective.
b. In the Description box, enter a description of the subscription for the service
level objective.
c. In the When to notify list, select When an object of the selected class is
updated.
d. Next to Targeted class select Browse and then in the Frequently used basic
classes list, select All basic classes. In the Select a Class dialog, select Service
Level Instance Time Information, and select OK to close the dialog.
e. Keep the default management pack information, and select Next.
6. On the Group/Queue Selection page, select Next.
7. On the Additional Criteria page, complete these steps:
a. In the Changed From tab, set [Service Level Instance Time Information] Status
Does Not Equal Warning.
b. On the Changed To tab, set [Service Level Instance Time Information] Status
Equals Warning, and select Next.
8. On the Template page, select an email template or create a new one targeted at
the Service Level Instance Time Information class. For more information about
creating email notification templates, see How to Create Notification Templates.
Select Next.
9. On the Recipient page, select Add and select the groups and users to send the
notification to, and select Next.
10. On the Related Recipient page, select Add, select [WorkItem]WorkItem has
Service Level Instance Information in the left box, and then select Primary Owner
and Assigned To User in the right box, and select Next.
11. On the Summary page, review the information, and select Create.
12. On the Completion page, select OK to close the wizard.

Reactivate incidents with SLA information


You can reactivate resolved incidents that have an associated service level objective.
However, keep in mind that the original date and time that the incident was opened is
preserved. So, the time that elapsed while the incident was resolved continues to apply
against the service level objective—possibly resulting in the service level objective being
breached.

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Incident Management, and select All .
3. In the All Incidents list, locate a resolved incident that you want to reactivate, and
select it.
4. In the Tasks list, under <IncidentID - IncidentTitle>, select Change Incident
Status, and select Activate.
5. In the Activate box, enter a comment describing why you're activating the incident,
and select OK.

Next steps
To create a sequence of activities that automate a business process, see Configure
workflows.
Configure workflows in Service Manager
Article • 03/16/2023

In Service Manager, a workflow is a sequence of activities that automate a business


process. Workflows can, for example, update incidents when various changes occur. A
workflow can automatically generate incidents when computers fall out of compliance
from desired configuration management. You create a workflow that defines when and
under what circumstances it will run. For example, a workflow can automatically change
the support tier from a setting of 1 to 2 whenever a low-priority incident pertaining to
printing problems is changed to a higher priority. Workflow activities function by the
application of templates. For this example, an incident template to change the support
tier to a setting of 2 must have been created previously.

You can create multiple workflows for each workflow configuration. You can enable or
disable the workflow conditions. If a particular rule is disabled, the remaining rules still
cause the workflow to run. If you want to completely disable a workflow, you must
disable all of the rules that call the workflow.

The success or failure of a workflow is retained by Service Manager, and it's available for
you to view. Two views are available. All Results consists of a view of all success and
failure instances, and the Errors view displays only those instances when a workflow
failed. In the All Results view, you can, for each instance, view the log and view the
related object. When you view the log, you can examine the events that occurred when
the workflow ran. When you view the related object, you see the form that this workflow
acted on. The Errors view is limited to the most recent 250 instances. When you're
viewing a failed instance, you've the same options in the Success view to view the log
and view the related object. In addition, in the Errors view, you've the option to select
Retry or Ignore. Selecting Retry causes the workflow to run again with the same
parameters and removes this instance from the view. Selecting Ignore removes the
instance from the view.

Configure incident workflows


You can use the following procedure to create and configure a workflow rule that will
change the support tier to Tier 2 whenever the Urgency property of an incident that is
related to printing problems is changed to High. This procedure assumes that you
already created an incident template to change the support tier to Tier 2, and it assumes
that you already created the priority calculation table. For more information, see How to
Set Incident Priority. To create a new printer-related incident template, see How to
Create Incident Templates.
To configure an incident workflow
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Workflows, and select
Configuration.
3. In the Configuration pane, double-click Incident Event Workflow Configuration.
4. In the Configure Incident Event Workflows dialog, select Add.
5. In the Add Incident Event Workflow dialog, complete these steps:
a. On the Before You Begin page, select Next.
b. On the Workflow Information page, in the Name box, enter a name for the
workflow. For example, enter Escalates Printer Problems to Support Tier 2
when the Urgency property is changed to High.
c. In the Check for events list, select when an object is created or when an object
is updated, ensure that the Enabled checkbox is selected, and select Next.
d. On the Specify Event Criteria page, select the Changed to tab. In the Available
Properties list, select Urgency, and select Add. In the Criteria box, select equals.
In the list, select High. Then, select Next.
e. On the Select Incident Template page, select Apply the following template,
and then select the template you created earlier that will set the support group
to Tier 2. For example, select Escalate Printer Problems to Tier 2, and select
Next.
f. Optionally, in the Select People to Notify page, select the Enable notification
checkbox, select the user to notify, and select Next.
g. On the Summary page, review your settings, and select Create.
h. On the Completion page, select Close.
6. In the Configure Incident Event Workflows dialog, select OK.

To validate an incident workflow


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Incident Management, and
select All Incidents.
3. In the All Incidents pane, double-click an incident that isn't currently assigned to
the tier 2 support group.
4. In the Incident Form page, set the Urgency property to High, and select OK.
5. In a few minutes, press F5. Verify that the value in the Support Group box changed
to Tier 2.

You can use Windows PowerShell commands to complete these and other related
tasks, as follows:
For information about how to use Windows PowerShell to create a new workflow
in Service Manager, see New-SCSMWorkflow.
For information about how to use Windows PowerShell to retrieve configuration
and status information for Service Manager workflows, see Get-
SCSMWorkflowStatus.
For information about how to use Windows PowerShell to update workflow
properties, see Update-SCSMWorkflow cmdlet.
For information about how to use Windows PowerShell to remove a workflow from
Service Manager, see Remove-SCSMWorkflow.

View workflow success or failure in Service


Manager
Use the following procedure to view the success or failure instances of the workflows.

To view workflow success or failure


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Workflows, and select
Status.
3. In the Status pane, select the workflow that you want to view. For example, select
Escalates Printer Problems to Support Tier 2 when the Urgency property is
changed to High.
4. In the Status results pane, select Need attention to view workflows that didn't run
successfully. Or select All Instances, and then do the following:
a. Select View log to view the list of events that occurred when the workflow ran.
b. Select View related object to view the form that was used when the workflow
ran. The status of each workflow is displayed in the Status column.

You can use a Windows PowerShell command to complete this task. For information
about how to use Windows PowerShell to retrieve the status of workflows in Service
Manager, see Get-SCSMWorkflowStatus.

Next steps
Configure change and activity management.
Configure change and activity
management in Service Manager
Article • 03/29/2023

As part of your initial configuration of Service Manager, you've to configure settings and
workflows for change and activity management. Create a change request template that
you can use later when new change requests are submitted.

Configure workflows to automatically close completed change requests and send


notifications to users when activities require approval. Workflows automate processes
that you can use to automatically apply templates and send notifications.

A change request template is useful when you create a change request for a recurring
type of issue because you can set an issue category and define a standard priority,
effect, and risk level for it in the template. You can also create additional templates for
other types of recurring change requests. Another benefit of creating a change request
template is that users spend less time when they submit new change requests.

Create change request templates


Use the following procedures to create two change request templates and then validate
them. The first template is used to create change requests to modify Microsoft Exchange
Server infrastructure. The second template is used to automatically change the priority
of a standard change request to Low.

Change request templates store commonly used settings and apply the information to
new change requests. For example, you can create a change request template that
includes many activities. However, activities that you want to include in a change
request template must have been previously created as activity templates.

7 Note

When you create a change request template, don't create links to configuration
items or work items, and don't enter any user information. If you create a template
with these objects, you can't remove them, and you'll have to recreate the
template.

Create a messaging change request template


1. In the Service Manager console, select Library.
2. In the Library pane, select Templates.
3. In the Tasks pane, under Templates, select Create Template.
4. In the Create Template dialog, enter a name for the template in the Name box. For
example, enter Changes to Messaging Infrastructure Template.
5. In the Description box, enter a description for the template. For example, enter
Use this change template when you want to modify the messaging
infrastructure.
6. Select Browse to select a class.
7. In the Select a Class dialog, select Change Request, and select OK.
8. In the Create Template dialog, under Management pack, select Service Manager
Change Management Configuration Library, and select OK.
9. In the Change Request Template form, on the General tab, in the Description box,
enter a description for the change. For example, enter Use when modifying the
Exchange Server software infrastructure.
10. In the Area box, select the area that is affected by the change request. For
example, expand Hardware, and then select Server.
11. In the Priority box, select a value. For example, select High.
12. In the Impact box, select a value. For example, select Standard.
13. In the Risk box, select a value. For example, select Medium.
14. Select the Activities tab, and select Add.
15. In the Templates list, select Default Review Activity, and select OK to open the
review activity form.
16. In the Title box, enter a name for the review activity. For example, enter Messaging
Infrastructure Request Approval. Select Add to add the user or group that will
normally approve the change request.
17. In each open form or dialog, select OK.

Create a priority-modifying template


1. In the Service Manager console, select Library.
2. In the Library pane, select Templates.
3. In the Tasks pane, select Create Template under Templates.
4. In the Create Template dialog, enter a name for the template in the Name box. For
example, enter Set Standard Change Requests to Low Priority.
5. In the Description box, enter a description for the template. For example, enter
Use this change template to automatically set the priority for standard change
requests to Low.
6. Select Browse to add a class.
7. In the Choose Class dialog, select Change Request, and select OK.
8. In the Create Template dialog, under Management pack, select Service Manager
Change Management Configuration Library, and select OK.
9. In the Change Request Template form, on the General tab, in the Priority list,
select Low.
10. Select OK.

Validate template creation


Verify that the new templates were created. For example, verify that Changes to
Messaging Infrastructure Template and Set Standard Change Requests to Low
Priority appear in the Templates view. You might have to press F5 to make the new
change templates appear.

Create a manual activity template


Use the following procedures to create a manual activity template and then validate it.
Manual activity templates help ensure that all manual activities are assigned to the
person who is the activity implementer. After you create the manual activity template,
you create a workflow that applies the template. For more information about how to
create a workflow, see How to Configure Incident Workflows.

In the following procedure, you will create a manual activity template named Set named
user as the Activity Implementer. This manual activity template is used in the How to
Configure Activity Management Workflows procedure.

Create a manual activity template


1. In the Service Manager console, select Library.
2. In the Library pane, select Templates.
3. In the Tasks pane, in the Templates area, select Create Template.
4. In the Create Template dialog, in the Name box, enter a name for the template.
For example, enter Set named users as the Activity Implementer.
5. In the Description box, enter a description for the template.
6. Select Browse to choose a class.
7. In the Choose Class dialog, select Manual Activity, and select OK.
8. In the Create Template dialog, under Management pack, select Service Manager
Activity Management Configuration Library, and select OK.
9. In the Manual Activity Template form, on the General tab, select the ellipsis
button (...) next to Activity Implementer, select a user, and select OK.
Validate that the template was created
In the Templates view, verify that the new template was created. You might have to
press F5 to make the new manual activity template appear.

Configure general change settings


Use the following procedures to configure settings to specify change request prefixes
and to define change request file attachment limits and then validate the settings.

7 Note

Revising the change request prefix doesn't affect existing change requests.

To configure general change settings


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Change Request Settings.
4. In the Tasks pane, in the Change Request Settings area, select Properties.
5. In the Change Request Settings dialog, you can make the following changes:

If you want to change the prefix code, change the default value in the
Change Request ID prefix box.
If you want to change the maximum number of files that you can attach to a
change request, change the default value in the Maximum number of
attached files box. For example, enter 2.
If you want to change the maximum size of files that you attach to a change
request, change the default value in the Maximum size (KB) box. For
example, enter 300.

6. Select OK to close the Change Request Settings dialog.

Validate change settings


1. To validate changes to the prefix code, create a new change request, and verify
that the change request IDs have the prefix that you specified.
2. To validate changes to the attachment settings, open a change request, and
attempt to add a file attachment that violates the settings that you specified.
Configure general activity settings
Use the following procedure to configure settings to specify activity prefixes when you
view activity records. You can then validate the settings. You can define these activity
settings in the administrative area of the Service Manager console.

7 Note

Revising the activity request prefix doesn't affect the existing activity records.

Configure general activity settings


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Settings.
3. In the Settings pane, select Activity Settings.
4. In the Tasks pane, in the Activity Settings area, select Properties.
5. In the Activity Settings dialog, you can make the following changes:

If you want to change the activity prefix code, change the default value in the
Activity prefix box. For example, change the value to AA.
If you want to change the manual activity prefix code, change the default
value in the Manual activity prefix box. For example, change the value to
AM.
If you want to change the review activity prefix code, change the default
value in the Review activity prefix box. For example, change the value to AR.

6. Select OK to close the Activity Settings dialog.

Validate activity setting changes


To validate changes to any prefix code, create a new change request, and then
verify on the Activities tab that the activities have the new prefix that you
specified.

Configure change management workflows


Use the following procedures to set the priority of all standard change requests and
then validate the change. For example, you can set the priority of all the standard
change requests to low. In this procedure, you create a new workflow to automate the
process.
Before you can complete the steps in the following procedures, you've to create the
following templates:

Set Standard Change Requests to Low Priority: For more information, see the
procedure To create a priority-modifying template in How to Create Change
Request Templates.
New Standard Change Request Received Template: For more information, see the
procedure To create a notification template for change requests in How to Create
Notification Templates.

Create a workflow to set all standard change requests to


low
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Workflows, and select
Configuration.
3. In the Configuration pane, select Change Request Event Workflow Configuration.
4. In the Tasks pane, in the Change Request Event Workflow Configuration area,
select Configure Workflow Rules.
5. In the Configure Workflows dialog, select Add.
6. On the Before You Begin page of the Configure Workflows for Objects of Class
Change Request Wizard, select Next.
7. On the Workflow Information page, in the Name box, enter a name for the
workflow. For example, enter Set Standard Change Request to Low Priority
workflow.
8. Optionally, in the Description box, you can enter a description of the new
workflow. For example, you can enter This workflow automatically sets the
priority of a standard change request to low.
9. In the Check for events list, select When an object is created.
10. Ensure that the Enabled checkbox is selected, and select Next.
11. On the Specify Criteria page, on the Changed To tab, in the Related classes list,
select Change Request.
12. In the Available properties list, select Category, and select Add. In the Criteria
area, next to the equals box, select Standard, and select Next.
13. On the Apply Template page, select the Apply the selected template checkbox.
14. In the Templates list, select Set Standard Change Requests to Low Priority, and
select Next.
15. On the Select People to Notify page, select the Enable notification checkbox.
16. Under User, select Created By User, and under Template, select New Standard
Change Request Received Template, and select Add.
17. Select Next.
18. On the Summary page, select Create.
19. On the Completion page, select Close.
20. In the Configure Workflows dialog, select OK.

Validate workflow creation


1. In the Configuration pane, select the Change Request Event Workflow
Configuration template.
2. In the Tasks pane, select Configure Workflow Rules.
3. In the Configure Workflows dialog, the Set Standard Change Request to Low
Priority workflow workflow should appear.
4. Optionally, you can create a new change request by using the Standard Change
Request template to verify that the priority of new requests is set to Low.
5. Notification email is sent to the user who created the change request.

Configure activity management workflows


Use the following procedures to automatically assign all unassigned manual activities to
a named user and then validate the creation of workflow.

Before you can complete the steps in the following procedures, you've to create the
following templates:

Set named user as the Activity Implementer: For more information, see How to
Create a Manual Activity Template.
New Activity Assigned Received Template: For more information, see How to
Create Notification Templates.

The new workflow you're about to create applies the Set named user as the Activity
Implementer template, which assigns the named user to all the activities that don't have
a designated activity implementer. The New Activity Assigned Received Template sends
notification to a user if the email notification channel is configured.

Create an activity management workflow


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Workflows, and select
Configuration.
3. In the Configuration pane, select Activity Event Workflow Configuration.
4. In the Tasks pane, in the Activity Event Workflow Configuration area, select
Configure Workflow Rules.
5. In the Select a Class dialog, in the Name list, select Manual Activity, and select OK.
6. In the Configure Workflows dialog, select Add.
7. On the Before You Begin page of the Configure workflows for objects of class
Manual Activity wizard, select Next.
8. On the Workflow Information page, in the Name box, enter a name for the
workflow. For example, enter Assign Unassigned Activities to named user.
9. Optionally, in the Description box, you can type a description of the new workflow.
For example, you can type This workflow automatically assigns unassigned
manual activities to the named user.
10. In the Check for events list, select When an object is created.
11. Ensure that the Enabled checkbox is selected, and select Next.
12. On the Specify Criteria page, on the Changed to tab, in the Related classes list,
select Manual Activity.
13. In the Available properties list, select the Stage checkbox, and select Add.
14. In the Criteria area, next to the [Activity] Stage box, select equals, select Approve
for the value, and select Next.
15. On the Apply Template page, ensure that the Apply the selected template
checkbox is selected.
16. In the Templates list, select Set named users as the Activity Implementer, and
select Next.
17. On the Select People to Notify page, select the Enable notification checkbox.
18. In the User list, select Assigned to User.
19. In the Message template list, select New Activity Assigned Received Template,
select Add, and select Next.
20. On the Summary page, select Create.
21. On the Completion page, select Close.
22. In the Configure Workflows dialog, select OK to close it.

Validate workflow creation


1. In the Administration pane, expand Administration, expand Workflows, and select
Status.
2. In the Status pane, verify that the new workflow template titled Assign Unassigned
Activities to the named user is listed.

Next steps
Configure settings and workflows for release management.
Configure Release Management settings
Article • 03/16/2023

As part of your initial configuration of Service Manager, you've to configure settings and
workflows for release management. The settings define the ID prefix that is assigned to
release records, how many files can be attached to each release record, and the
maximum size of each file. You also create a workflow to notify people when a release
record affects them.

Configure settings
The Service Manager Administrator configures release management settings by using
the following procedure.

7 Note

Revising the release record prefix doesn't affect the existing release records.

To configure release management settings


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, and select Settings.

3. In the Settings view, select Release Management Settings.

4. In the Tasks pane, in the Release Management Settings area, select Properties.

5. In the Release Management Settings dialog, you can make the following changes:

a. If you want to change the prefix code, change the default value in the Release
Record ID prefix box.

b. If you want to change the maximum number of files that you can attach to a
release record, change the default value in the Maximum number of attached
files box. For example, enter 2.

c. If you want to change the maximum size of files that you attach to a release
record, change the default value in the Maximum size (KB) box. For example,
enter 300.

6. Select OK to close the Release Management Settings dialog.


Configure notifications
You can configure notifications for release records by completing the following
procedure that sends a notification when a release record is created or updated.

To configure a notification for updated release records


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, expand Workflows, and select


Configuration.

3. In the Configuration pane, double-click Release Record Event Workflow


Configuration.

4. In the Configure Workflows dialog, select Add.

5. In the Configure workflows for objects of class Release Record dialog, complete
these steps:

a. On the Before You Begin page, select Next.

b. On the Workflow Information page, in the Name box, enter a name for the
workflow. For example, enter Updated Release Records.

c. In the Description box, enter a description of what the workflow does. For
example, enter This workflow notifies the assigned-to user and the created-by
user when release records are updated.

d. In the Check for events list, select When an object is created or select When an
object is updated, ensure that the Enabled checkbox is selected, and select
Next.

e. On the Specify Event Criteria page, select the Changed to tab. Under Related
classes, expand Release Record, and then select either Assigned To User or
Created By User.

f. Under Available properties, select User Name, select Add, and then under
Criteria, enter the user name of the person that you're basing the notification
on. Repeat this step, as necessary.

g. On the Apply Template page, clear Apply the selected template, and select
Next.
h. On the Select People to Notify page, select Enable notification, then select
Assigned To User and select Add. Repeat this step for Created By User, and
select Next.

i. On the Summary page, review your settings, and select Create.

j. On the Completion page, select Close.

Next steps
Configure Desired Configuration Management to generate incidents.
Set up incident generation in Service
Manager
Article • 09/26/2023

This article provides an example that shows how to inventory all computers that might
require an upgrade to Microsoft Exchange Server 2016. To do this, first define the
appropriate configuration baseline in Configuration Manager.

In Service Manager, you must create a Configuration Manager connector to import the
baseline and configure incident management to automatically generate incidents based
on desired configuration management. For information about how to create a
Configuration Manager connector, see About Importing Data from System Center
Configuration Manager.

You can use desired configuration management in Configuration Manager to monitor


software to ensure that it's compliant with defined values. For example, you can monitor
software versions, security settings, and software updates. The configurations that you
want to monitor are added as Configuration Manager configuration items to
configuration baselines so that they can be evaluated for compliance as a group.

In Service Manager, you can import configuration baselines from Configuration


Manager by using a Configuration Manager Connector. You can then configure Service
Manager to create incidents for each Service Manager configuration item that reports as
noncompliant against the defined values.

Use the following procedure to configure incident management to automatically


generate incidents based on desired configuration management.

In Service Manager, you can import configuration baselines from Configuration


Manager by using a Configuration Manager connector. Then, you can configure Service
Manager to create incidents for each Service Manager configuration item that is
reported as noncompliant against the defined values.

You can use the following procedures to configure incident management to


automatically generate desired configuration management-based incidents and validate
that the desired configuration management is configured.

Automatically generate management-based


incidents
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Workflows, and select Configuration.

3. In the Configuration pane, double-click Desired Configuration Management


Event Workflow Configuration.

4. In the Configure Desired Configuration Management Workflows dialog, select


Add.

5. In the Add Desired Configuration Management Workflow Wizard, complete these


steps:

a. On the Before You Begin page, select Next.

7 Note

The Next button will be unavailable if a Configuration Manager connector


hasn't been created.

b. On the Workflow Information page, enter a name and a description for the
rule. Ensure that the Enabled checkbox is selected, and select Next.

c. On the Select System Center Configuration Manager Configuration Items


page, expand all the configuration baselines that are listed, select the
Configuration Manager configuration items that you want to include in the rule,
and select Next.

d. On the Select Incident Template page, select Apply the following template,
select a template for the new incidents that will be created by this rule, and
select Next.

e. On the Select People to Notify page, select the Enable notification checkbox.
Select the users who should be notified when an incident is created by this rule.
For each user, specify the notification method and a template, and select Add.
Select Next.

f. On the Summary page, ensure that the settings contain the information you
expect, and select Create.

g. On the Completion page, ensure that you receive the following confirmation
message, and select Close:

Desired Configuration Management Workflow Created Successfully


To validate that desired configuration management is
configured
1. Import an out-of-compliance Service Manager configuration item that would
match one of the desired configuration management rules. Then, locate the
desired configuration management-based incident in Service Manager.

2. In the Service Manager console, select Work Items

3. In the Work Items pane, expand Incident Management, and select All Open DCM
Incidents.

4. In the All Open Desired Configuration Management Incidents pane, double-click


an incident.

5. In the Incident form, select the Compliance Errors tab.

6. Verify that the correct configuration baseline and Configuration Manager


configuration items are listed.

You can use Windows PowerShell commands to complete these and other related
tasks, as follows:

For information about how to use Windows PowerShell to create a desired


configuration management workflow in Service Manager, see New-
SCSMDCMWorkflow.

For information about how to use Windows PowerShell to retrieve the list of all
DCM workflows that are defined in Service Manager, see Get-SCSMDCMWorkflow.

For information about how to use Windows PowerShell to update properties of a


desired configuration management workflow, see Update-SCSMDCMWorkflow.

For information about how to use Windows PowerShell to remove a desired


configuration management workflow from Service Manager, see Remove-
SCSMDCMWorkflow.

Next steps
To create notifications in Service Manager when incidents or changes occur, see
Configure notifications.
Configure notifications in Service
Manager
Article • 06/08/2023

Using Service Manager notifications, you can generate emails for almost any kind of
change. For example, you can configure notifications to be sent to an analyst when
changes occur to a work item or configuration item that pertains to email problems.

Before notifications are sent, first configure each notification channel, such as the
settings for Simple Mail Transfer Protocol (SMTP). Notification messages are sent based
on a notification template. Therefore, you must create a notification template. You can
then use the Notification Subscription Wizard to subscribe a group of users to a
notification that will be sent whenever the changes that you specify occur. Finally, you
can verify that a notification is sent by manually generating the change.

7 Note

You must add the Service Manager workflow account to the Service Manager
Administrators user role for notifications to function properly.

Substitution strings in notification templates


Substitution strings are special tokens or system variables that are used in notification
templates in Service Manager. These strings retrieve properties from an instance that is
related to the instance for which the template was created. The strings then display the
value in the notification email. Notification templates in Service Manager include
substitution strings. Although you should avoid modifying the predefined templates,
you can duplicate them and then modify the duplicates.

For example, the end-user notification template includes a substitution string in the
message body that represents the user's first name. If you want to add the user's last
name, you can easily do so by using the Insert button, which is available when you edit
a notification template, and then browsing the available strings that are available for the
class of template that you're modifying. In this example, you would browse and then
select Affected User and then select Last Name to insert the string into the template.
Later, when the notification is sent to the user, their first and last name is included in the
message as a salutation.
While this example is simple, Service Manager includes substitution strings for almost
every property that you might need to create notifications that can inform end-users
and other Service Manager users with very timely and relevant information. You can
easily view the substitution strings that are available in Service Manager by opening an
existing notification template and then, in the template design area, selecting the Insert
button to view the classes and properties.

Configure notification channels


You can use the following procedures to configure notification channels and validate the
configuration. Notification channels are the method by which notification messages are
sent to users. You use the Configure E-Mail Notification Channel dialog to configure
and enable email notifications that Service Manager sends to a Simple Mail Transfer
Protocol (SMTP) server.

7 Note

Only email notification is supported.

To configure email notifications


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Notifications, and select Channels.
3. In the Channels pane, select E-Mail Notification Channel.
4. In the Tasks pane, under E-Mail Notification Channel, select Properties to open
the Configure E-Mail Notification Channel dialog.
5. Select the Enable e-mail notifications checkbox.
6. Select Add. In the Add SMTP Server dialog, enter the fully qualified domain name
(FQDN) of the SMTP server that you want to use. For example, enter
Exchange01.Woodgrove.Com.
7. In the Port number box, enter or select the SMTP port number that you want to
use. For example, select 25.
8. In the Authentication method box, select either Anonymous or Windows
Integrated. For example, select Anonymous. Then, select OK.
9. In the Return e-mail address box, enter the email address of the service account
that is used during setup. For example, enter [email protected].
10. In the Retry primary after box, enter or select the number of seconds that you
want Service Manager to wait before it tries to resend outgoing email notifications.
For example, select 25.
11. Select OK to close the dialog.

To validate email notification configuration


1. In the Channels pane, select E-Mail Notification Channel.
2. In the Tasks pane, under E-Mail Notification Channel, select Properties to open
the Configure E-Mail Notification Channel dialog.
3. Verify that the configuration you entered is correct.

You can use a Windows PowerShell command to complete these tasks, as follows:

For information about how to use Windows PowerShell to set the properties of an
email notification channel in Service Manager, see Set-SCSMChannel.
For information about how to use Windows PowerShell to retrieve the Email
Notification channels that are defined in Service Manager, see Get-SCSMChannel.

Create notification templates


You can use the following procedures to create notification templates for many types of
information records or work items that Service Manager records or keeps track of, such
as incidents, change requests, activities, release records, and configuration items. After
you create the notification templates, you can use a notification subscription to send
email messages based on the templates. The notification template determines the type
and format of the messages to send.

7 Note

Manually copying and pasting substitution strings from other notification


templates won't generally work. Therefore, you should avoid copying them to
prevent errors. Instead, you can easily browse for and insert available substitution
strings into any notification template that you're creating or updating.

The following two templates are prerequisites for other procedures:

The New Activity Assigned Received Template.


The New Standard Change Request Received Template.

7 Note

Notifications are sent only by email.


To create a notification template for incidents
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Notifications, and select Templates.
3. In the Tasks pane, under Templates, select Create E-mail Template.
4. On the General page of the Create E-mail Notification Template Wizard, in the
Notification template name box, enter a name. For example, enter New E-mail
Incident Template. Optionally, in the Description box, you can enter a description
for the template that you're creating.
5. Next to the Targeted class box, select Browse.
6. In the Choose Class dialog, select Incident, and select OK.
7. Ensure that an unsealed management pack of your choice is selected, and select
Next. For example, select the Sample Management Pack.
8. On the Template Design page, in the Message subject box, enter a subject for the
email template. For example, enter New Incident created with ID#. Then, select
Insert.
9. In the Select Property dialog, select ID, and select Add.
10. In the Message body box, enter a description to indicate that a new incident was
opened for an email problem.
11. Use the other default values on this page, and select Next.
12. On the Summary page, review the settings that you've selected for the template.
Then, select Create.
13. On the Completion page, select Close.

To create a notification template for change requests


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Notifications, and select Templates.
3. In the Tasks pane, under Templates, select Create E-mail Template.
4. On the General page of the Create E-mail Notification Template Wizard, in the
Notification template name box, enter a name. For example, enter New Standard
Change Request Received Template. Optionally, in the Description box, you can
enter a description for the template that you're creating.
5. Next to the Targeted class box, select Browse.
6. In the Choose Class dialog, select Change Request, and select OK.
7. Ensure that an unsealed management pack of your choice is selected, and select
Next. For example, select the Sample Management Pack.
8. On the Template Design page, in the Message subject box, enter a subject for the
email template. For example, enter New Standard Change Request with ID#. Then,
select Insert.
9. In the Select Property dialog, select ID, and select Add.
10. In the Message body box, enter a description to indicate that a new standard
change request was opened.
11. Use the other default values on this page, and select Next.
12. On the Summary page, review the settings that you've selected for the template.
Then, select Create.
13. On the Completion page, select Close.

To create a notification template for a newly assigned


activity
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Notifications, and select Templates.
3. In the Tasks pane, under Templates, select Create E-mail Template.
4. On the General page of the Create E-mail Notification Template Wizard, in the
Notification template name box, enter a name. For example, enter New Activity
Assigned Received Template. Optionally, in the Description box, you can enter a
description for the template that you're creating.
5. Next to the Targeted class box, select Browse.
6. In the Select a Class dialog, select Manual Activity, and select OK.
7. Ensure that an unsealed management pack of your choice is selected, and select
Next. For example, select the Sample Management Pack.
8. On the Template Design page, in the Message subject box, enter a subject for the
email template. For example, enter New Activity Assigned with ID#. Then, select
Insert.
9. In the Select Property dialog, select ID, and select Add.
10. In the Message body box, enter a description to indicate that an activity has been
assigned.
11. Use the other default values on this page, and select Next.
12. On the Summary page, review the settings that you've selected for the template.
Then, select Create.
13. On the Completion page, select Close.

To validate template creation


Verify that the new template you created appears in the list of notification
templates.

You can use Windows PowerShell commands to complete these and other related
tasks, as follows:
For information about how to use Windows PowerShell to create a new Email
template in Service Manager, see New-SCSMEmailTemplate.
For information about how to use Windows PowerShell to retrieve Email templates
that are defined in Service Manager, see Get-SCSMEmailTemplate.
For information about how to use Windows PowerShell to retrieve the content of a
Service Manager Email template, see Get-SCSMEmailTemplateContent.
For information about how to use Windows PowerShell to update properties of an
Email template, see Update-SCSMEmailtemplate.
For information about how to use Windows PowerShell to remove an Email
template from Service Manager, see Remove-SCSMEmailTemplate.

Subscribe to notifications
After you create a notification template, and after you've enabled at least one
notification channel, you can use the following procedure to subscribe to notifications
by using the Notification Subscription Wizard. Then, notifications will be sent when an
object is created or updated or periodically when other criteria that you specify are met.

The scenarios in this article center on the Create E-Mail Notification Subscription Wizard.
The condition that you choose to notify will dynamically change the wizard pages that
are available.

In the first procedure, you set up a subscription so that a messaging analyst is notified
when a new incident that pertains to an email problem is opened. In the second
procedure, you set up a subscription so that daily status updates are sent to the release
manager while the HR web application is in development, testing, and deployment.

7 Note

Some notification criteria values might not change. If you want to receive a
notification when a change occurs, ensure that you choose a value for an object
that is likely to change. For example, the Incident ID for an incident doesn't change.

To create a notification subscription for an incident


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Notification, and select Subscriptions.

3. In the Tasks pane, select Create Subscription.


4. On the Before You Begin page of the Create E-mail Notification Subscription
Wizard, select Next.

5. On the General page, in the Notification subscription name box, enter a name.
For example, enter New Incident for E-mail Problem Notification Subscription.
Optionally, in the Description box, you can enter a description for the subscription
that you're creating.

6. Next to the Targeted class box, select Browse.

7. In the When to notify box, select When an object of the selected class is created.

8. In the Choose Class dialog, choose a class. For example, select Incident. Then,
select OK.

9. Ensure that an unsealed management pack of your choice is selected, and select
Next. For example, select the Sample Management Pack.

10. On the Additional Criteria page, select Incident. In the Available Properties list,
select Classification Category, and select Add.

11. On the Additional Criteria page, select the Criteria tab. In the Criteria area, next to
[Incident] Classification Category, select equals. In the list, select E-mail Problems,
and select Next.

12. On the Template page, next to the E-mail template box, select Select.

13. In the Select Objects dialog, in the Templates list, select a notification template.
For example, select New E-mail Incident Template, select OK, and select Next.

14. On the Recipient page, select Add.

15. In the Select Objects dialog, search for the appropriate user, and then select the
user. Select Add, select OK, and select Next. For example, select the user account
for a messaging analyst or messaging administrator.

7 Note

The notification address must be configured for the user account of the
messaging analyst or messaging administrator.

16. On the Related Recipients page, select Add.

17. In the Select Related Recipient dialog, search for the appropriate class, and then
select the appropriate substitution string that represents the user. Select Add,
select OK, and select Next. For example, select additional user accounts that you
want to send the notification to.

18. On the Summary page, review the settings that you selected for the notification
subscription, and select Create.

19. On the Completion page, select Close.

To create a periodic notification subscription for a release


record
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Notifications, and select Subscriptions.

3. In the Tasks pane, select Create Subscription.

4. On the Before You Begin page of the Create E-mail Notification Subscription
Wizard, select Next.

5. On the General page, in the Notification subscription name box, enter a name.
For example, enter Daily Notification for Deploy HR Web 2.0 Release Record.
Optionally, in the Description box, you can enter a description for the subscription
that you're creating. For example, enter This subscription sends a daily
notification of the status for the HR Web 2.0 release record.

6. In the When to notify box, select Periodically notify when objects meet a criteria.

7. Next to the Targeted class box, select Browse.

8. In the Choose Class dialog, choose a class, and select OK. For example, select
Release Record.

9. Ensure that an unsealed management pack of your choice is selected, and select
Next. For example, select the Sample Management Pack.

10. On the Additional Criteria page, select Release Record. In the Available Properties
list, select Status, and select Add.

11. In the Criteria area, next to [Release Record] Status, select does not equal. In the
list, select Closed, and select Next.

12. On the Recurring Notification page under Recurrence pattern, select Notify every
TimeInterval and then choose an interval. For example, set the recurrence pattern
to every one day.
13. On the Recurring Notification page under Range of recurrence, select a range of
recurrence or choose no end date. For example, select No end date.

14. On the Template page, next to the E-mail template box, select Select.

15. In the Select Template dialog, in the Templates list, select a notification template
that you've created for release record notifications.

16. On the Recipient page, select Add.

17. In the Select Objects dialog, search for the appropriate user, and then select the
user. Select Add, select OK, and select Next. For example, select the user account
for the release manager.

7 Note

The notification address must be configured for the user account of the
messaging analyst or messaging administrator.

18. On the Related Recipients page, select Add.

19. In the Select Related Recipient dialog, search for the appropriate class, and then
select the appropriate substitution string that represents the user. Select Add,
select OK, and select Next. For example, select additional user accounts that you
want to send the notification to.

20. On the Summary page, review the settings that you selected for the notification
subscription, and select Create.

21. On the Completion page, select Close.

To validate a notification subscription


Locate the notification subscription that you created in the list of subscriptions.

You can use a Windows PowerShell command to complete these tasks and other
related tasks, as follows:

For information about how to use Windows PowerShell to create a new


subscription in Service Manager, see New-SCSMSubscription.
For information about how to use Windows PowerShell to retrieve subscriptions
that are configured in Service Manager, see Get-SCSMSubscription.
For information about how to use Windows PowerShell to update subscription
properties in Service Manager, see Update-SCSMSubscription.
For information about how to use Windows PowerShell to remove a subscription
from Service Manager, see Remove-SCSMSubscription.

Verify a notification configuration


You can use the following procedure to verify that you've correctly configured
notifications. Generate the type of change that activates the notification subscription
that was previously created. When you do this, the subscription generates and then
sends a notification. Receipt of the notification verifies success. For example, create a
test incident that generates an email notification. The notification informs the recipient
that an incident was opened.

If you're verifying a recurring notification subscription, you must wait for the time
interval that you set previously to elapse until the notification is sent. When the
notification is received, the configuration of the notification is verified.

To verify a notification configuration


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Incident Management, and
select All Open Incidents.
3. In the Tasks pane, under Incident Management, select Create Incident.
4. In the Incident Number New form, enter the required information in the Affected
user, Title, Classification Category, Impact, and Urgency boxes.
5. In the Classification Category list, select E-mail Problems, and select OK.
6. Verify that an email notification that contains the information you entered in the
template is received. The email title should contain the incident ID number.

Automatically notify groups of Service


Manager users
In some situations, you may want to use a group rather than an individual user in
Service Manager as a work item stakeholder. For example, you might want to assign an
incident to a team of people, such as an initial response team that routes incidents, and
then notify everyone in the initial response team that an incident has been assigned to
their team.
Messaging-enabled universal security groups in Microsoft Exchange Server are the key
to this task. This article describes how to accomplish this using the Exchange Server
Exchange Management console for incidents. You can use the following procedures to
create a messaging-enabled universal security group, create a workflow to notify
stakeholders when an incident is created, and then test for success.

In Exchange Server, the Require that all senders are authenticated setting is enabled by
default for mail-enabled universal security groups. You can modify the setting in the
distribution group properties, in Mail-Flow settings, in the Message Delivery
Restrictions dialog. If your outgoing Simple Mail Transfer Protocol (SMTP) server
specified in the Service Manager settings (Under Administration > Notifications
Channels > Edit) is using Anonymous as the Authentication Method (either in Service
Manager or the SMTP settings), then given the above default setting in exchange, the
email wouldn't be sent out. If you've Anonymous Access configured on the SMTP side,
it's necessary either to clear the Require that all senders are authenticated setting in
exchange for the Mail Enabled Universal Security Group, or change the SMTP
authentication settings (in Service Manager or the outgoing SMTP Server settings) from
anonymous to Windows Integrated, so that the user is authenticated, allowing the email
to be sent.

As an alternative, you can avoid using Assigned to and instead use Support Group
changing as a triggering field. To set this up, create a new email notification
subscription, and under additional criteria, use the following:

Changed from: [incident] Support Group Does not equal Tier 1


Changed to: [incident] Support Group equals Tier 1

Use whatever template you want, and add the recipient of the mailing distribution list
for Tier 1. Now Tier 1 is notified whenever a ticket is sent to them, even if it's done by
means of a template at portal ticket creation.

Setting up one of these for each support group will ensure that all your groups are
informed of incoming incidents that require their attention.

To create a messaging-enabled universal security group


1. In the Exchange Management Console, navigate to Recipient Configuration, right-
click Distribution Group, and select New Distribution Group.
2. On the Introduction page, either choose an existing universal group or create a
new group.
3. On the Group Information page, select the Security group type.
4. Complete the creation of the group.
5. Add members to the group by right-clicking them, selecting Properties, and
accessing the Members tab.
6. Wait for Service Manager to sync with Active Directory Domain Services (AD DS), or
perform a manual Synchronization from Administration > Connectors. (Select AD
Connector, and then select the Synchronize Now task on the right-hand side).
7. Once the Active Directory synchronization has completed, the newly created group
will be available as a configuration item in Service Manager, and it can be selected
in the user picker fields, such as Affected User and Assigned To.

To create a workflow to notify stakeholders when an


incident is created
1. Navigate to Administration > Workflows > Configuration.
2. Double-click Incident Event Workflow Configuration.
3. Select Add, and select Next on the Before you Begin page.
4. Give the workflow a name, such as Incident Created Email Stakeholders.
5. Leave the default of When an incident is created in the Check for Events
dropdown list.
6. Select one of your custom management packs (or create one) to store the
workflow in, and select Next.
7. Select Next on the Specify Incident Criteria page. (We want this workflow to run
when any new incident is created.)
8. Optionally, apply a template. (In this case, we're creating the workflow for
notification only, so we choose Do not apply a template.)
9. In the Select People to Notify dialog, select the Enable notification checkbox. Add
the appropriate users you want to notify with the appropriate templates.
10. Select Next, and select Create to complete creation of the workflow.

To test the workflow and mail the enabled universal


security group
Create an incident and assign it to the messaging-enabled universal security group
that you created earlier.

Next steps
Use the service catalog to offer services.
Use the Service Manager service catalog
to offer services
Article • 07/17/2023

This article provides an overview of how to use the service catalog in Service Manager.
This article also contains procedures that cover management configuration scenarios for
the service catalog.

The service catalog is a collection of items, assistance, actions, or groupings of them that
your IT staff and infrastructure provides and makes available to end-users in the Self-
Service Portal in Service Manager. In the Service Manager console, you create catalog
items to describe these items in the Library workspace using the following nodes:

Request Offerings

Service Offerings

The Request Offerings node is used to create a catalog item that describes an item,
assistance, or action that is available to end-users. It also defines information that you
want to prompt the users for and any knowledge articles that are associated with the
offering.

After it's created, you can set the status of a request offering as either Draft or
Published. Draft status indicates that a request offering isn't published and available to
the service catalog. This prevents end-users from requesting the offering. When you set
the request offering status to Published, it appears in the catalog where users can
request it if they've been granted access to a catalog item group that contains the
request offering.

The Service Offerings node is used to create a catalog item that categorizes request
offerings.

Create your own service offering categories


By default, Service Manager includes only the General service offering category.
However, your organization will likely need additional categories to help organize
service offerings that are provided to end-users through the service catalog. You can use
the following procedure to add additional categories to the service catalog.

To extend the service offering categories


1. In the Service Manager console, select Library.
2. In the Library pane, select Lists, and then in the Filter box, enter offering.
3. In the Lists view, select Service Offering Category, and then in the Tasks list under
Service Offering Category, select Properties.
4. In the List Properties dialog, add any service offering categories that you want,
and select OK to close the dialog. For example, add the following categories:

Data Center
Access and Security
Communication Services

5. Select OK to close the List Properties dialog.

Create a service offering


Service offerings are logical groups of request offerings. Both service offerings and their
request offerings are available to Self-Service Portal users when their status is set to
Published and if end-users have been assigned a corresponding Service Manager user
role. Only users who have been assigned a user role that is associated with a catalog
group that contains catalog items can use the Self-Service Portal to access the service
catalog.

To create a service offering


1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Service Offerings.
3. In the Tasks pane under Service Offerings, select Create Service Offering to open
the Create Service Offering Wizard.
4. On the Before You Begin page, read the instructions, and select Next.
5. On the General page, complete these steps:
a. In the Title box, enter a title for the service offering. For example, enter Access
Services.
b. Optionally, next to Image, you can either Browse to an image file or leave the
default selection.
c. In the Category list, select a category that this service offering will be a part of.
For example, select Access and Security.
d. In the Language list, either leave the default selection or select a language.
e. In the Overview text box, enter a short overview to describe the service offering
that will be shown on the Self-Service Portal home page. For example, enter
Access to AD Group, Access to Labs.
f. In the description box, enter a description that will appear on the service
offering page in the Self-Service Portal.
g. Next to the Management pack, select an unsealed management pack of your
choice, and select Next. For example, if you previously created the Sample
Management Pack, select it.
6. On the Detailed Information page, complete these steps:
a. In the Service level agreement information box, enter a summary of the service
level agreement (SLA) information. For example, enter The SLAs for these
requests, depending on the criticality of the requests, range from 1-2 business
days. For more information, click the link below.
b. In the first Link for additional information box, enter a hyperlink that users can
select to view additional information about the SLA for this service offering.
c. In the Cost information box, enter a summary of any costs associated with
requests that will be grouped in this service offering.
d. In the second Link for additional information box, enter a hyperlink that users
can select to view additional information about any costs associated with
requests that will be grouped in this service offering.
e. Select Next.
7. Optionally, on the Related Services page, add related business services associated
with the service offering, and select Next.
8. Optionally, on the Knowledge Articles page, add related knowledge articles
associated with the service offering, and select Next.
9. Optionally, on the Request Offering page, add related request offerings associated
with the service offering, and select Next.
10. On the Publish page, in the Offering status list, select Published and set the
Offering owner to yourself, and select Next.
11. On the Summary page, review the information, and select Create.
12. On the Completion page, select Close.

Create service request templates for new


request offerings
By default, Service Manager includes a number of service request templates that are
based on a generic incident template. By viewing the template, you can gain an
understanding of the categories of information to collect and convey to end-users as
they submit requests through the Self-Service Portal. You can use the following
procedure to create a new service request template without using the default generic
incident request template.
To create a service request template
1. In the Service Manager console, select Library.
2. In the Library pane, select Templates, and then in the Tasks lists under Templates,
select Create Template.
3. In the Create Template dialog, in the Name box, enter a name for the template.
For example, enter Request Membership to Group.
4. In the Description box, enter a description for the template. For example, enter
This template is used to request membership to a group.
5. Next to Class, select Browse, select Service Request, and select OK.
6. Select OK to close the Create Template dialog and open the Service Request
Template form in template mode.
7. In the Service Request Template form, in the Title box, enter Request membership
to Active Directory group.
8. In the Description box, enter a description of the purpose of the form. For
example, enter This template is used to request membership to an Active
Directory group.
9. In the Urgency list, select Medium, and in the Priority list, select Medium.
10. In the Source list, select Portal, and select the Activities tab.
11. On the Activities tab, select the Add button to open the Select Template dialog,
where you will add an activity.
12. Select Default Review Activity, and select OK to close the Select Template dialog
and open the Review Activity Template dialog.
13. In the Title box, enter a name for the review activity. For example, enter Approval
for the user Requesting Membership to AD Group.
14. Select Add to open the Reviewer dialog and select a user who will approve
requests for this service request, and select OK to close the dialog.
15. Select OK to close the Review Activity Template form.
16. Add another activity, and then select the Default Manual Activity template.
17. In the Manual Activity Template form, in the Title box, enter a title for the manual
activity. For example, enter Add the requesting user to list of Active Directory
groups in the impacted configuration items.
18. Next to Activity Implementer, select a user who is responsible for the activity, and
select OK to close the Manual Activity Template form.
19. Select OK to close the Service Request Template form.

Create a request offering


Request offerings are catalog items that describe the item, assistance, or action that is
available to end-users in the service catalog. Request offerings are normally placed in
logical groups of service offerings. Both service offerings and their request offerings are
available to Self-Service Portal users when the status of the offerings is set to Published
and if end-users have been assigned a corresponding Service Manager user role. Only
users who have been assigned a user role associated with a catalog group that contains
catalog items can use the Self-Service Portal to access the service catalog.

You can use the following procedure to create a request offering.

To create a request offering


1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Request Offerings.
3. In the Tasks pane under Request Offerings, select Create Request Offering to
open the Create Request Offering Wizard.
4. On the Before You Begin page, read the instructions, and select Next.
5. On the General page, complete these steps:
a. In the Title box, enter a title for the request offering. For example, enter Access
to Active Directory group.
b. Optionally, next to Image, you can either Browse to an image file, or leave the
default selection.
c. In the Description text box, enter a short description that describes the request
offering that will appear on the Self-Service Portal page. For example, enter Use
this request offering to request membership to an Active Directory Group.
d. Under Select template, select Service Request, and then in the Select Template
dialog, select a template that you created previously for a service request. For
example, select the Request Membership to Group template, and select OK.
e. Next to Management pack, select an unsealed management pack of your
choice, and select Next. For example, if you previously created the Sample
Management Pack, select it.
6. On the User Prompts page, enter questions for users or define other instructions,
which will appear in the Self-Service Portal when a user submits a request by
completing the following steps:
a. In the Form instructions box, enter a summary of the information that the user
must provide for the request. For example, enter Provide the information
below to request membership to the Active Directory Group
b. Under Enter prompts or information text, select Add; in the User Prompts or
Information box, enter Enter your cost center; in the Response Type list, select
Required; and in the Prompt Type list, select Integer.
c. In the second Enter Prompts or Information box, enter Select the list of Active
Directory groups that you need access to; in the Response Type list, select
Required; and in the Prompt Type list, select Query Results.
d. In the third Enter Prompts or Information box, enter Enter your justification for
this request; in the Response Type list, select Required; and in the Prompt Type
list, select Text.
e. Select Next.
7. On the Configure Prompts page, configure prompts to constrain user input to
ensure that users provide the information required to fulfill their requests by
completing the following steps:
a. Select the Enter your cost center prompt, and select Configure.
b. In the Configure Integer Control dialog, select Limit integer range, set the
Minimum Value to 1000 set the Maximum Value to 6999, and select OK to
close the dialog.
c. Select the Select the Active Directory groups that you want access to prompt,
and select Configure to open the Configure Instance Picker dialog.
d. In the Configure Instance Picker dialog in the Frequently used basic classes list,
select All basic classes; in the filter box, enter Active; and then select Active
Directory Group.
e. Select the Configure Criteria (optional) tab; in the list of properties under User,
select Department; and select Add Constraint.
f. In the Criteria box, select Department equals; in the Set Token list, select Select
token; and select 1. Enter your cost center: Integer.
g. If the condition is not set to equals, select equals.
h. Select the Display Columns tab, and then select Display Name, Department,
and Last Name.
i. Select the Options tab, select Allow the user to select multiple objects, and
then select Add user-selected objects as affected configuration items.
j. Select Ok to close the Configure Instance Picker dialog, and select Next.
8. On the Map Prompts page, associate prompts with various fields of a service
request or its activities, depending on the complexity of the form and the
extension of the class that you've made. Complete the following steps to associate
the justification to the review activity:
a. Select Approval for the user requesting membership to the Active Directory
group - (Review Activity).
b. Next to Description, select the box under Prompt Output, and then in the list,
select 3. Enter your justification: String.
c. Select Next.
9. Optionally, on the Knowledge Articles page, you can select a knowledge article to
associate with this request offering, and select Next.
10. Optionally, on the Publish page, you can set publishing information, and select
Next.
11. On the Summary page, review the information, and select Create.
12. On the Completion page, select Close.

Publish a request offering


You can publish draft request offerings by using the Publish task or by using a change
request. When you publish a request offering by using the Publish task, no additional
interaction is required, and the request offering appears in the Self-Service Portal as an
uncategorized item. If you want to publish the request offering as part of a category,
you must add the request offering to a service offering.

If you want to have an approval process added before publishing, you can associate the
request offering to a change request. If you use a change request, you can also send
email notifications as the approval process occurs.

7 Note

Various errors might occur if you create a request offering without mapped
prompts or if you've erroneously mapped any prompts. The errors can occur after
you associate a change request to the request offering and then you complete the
change request. To avoid such errors, ensure that you've at least one prompt in the
request offering and that all the prompts are mapped correctly.

You can use the following procedures to publish request offerings.

To publish draft request offerings


1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Draft Request
Offerings.
3. In the Draft Request Offerings list, select one or more request offerings, and in the
Tasks pane under RequestOfferingName, select Publish.

To use a change request to publish draft request offerings


1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Draft Request
Offerings.
3. In the Draft Request Offerings list, select one or more request offerings, and in the
Tasks pane under RequestOfferingName, select Create Change Request to Publish.
4. In the Select Template dialog, select the Publish Offering change request
template, and select OK to open a new change request form.
5. In the ChangeRequestID: Publish Offerings form, notice that the catalog items to
publish appear under Catalog items.
6. Select the Activities tab, and notice that there is a review activity and an
automated activity associated with the change request. Later, when the review
activity is approved, the automated activity will set the publish status to Published.
7. Select OK to save the change request.

Add request offerings to service offerings


Service offerings are logical groups of request offerings. For a service offering to appear
in the Self-Service Portal, each service offering must have at least one request offering
added to it. After a service offering and a request offering are published, it's a
straightforward process to associate them as a collection.

To add request offerings to service offerings


1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Published Request
Offerings.
3. In the Published Request Offerings list, select one or more request offerings, and
in the Tasks pane under RequestOfferingName, select Add to Service Offering.
4. In the Select objects dialog, select the service offering that you want to associate
the request offering with, select Add, and select OK to close the dialog.

Create a catalog item group


Catalog item groups are lists of catalog items that are used to secure the service catalog
and provide access to users based on membership in a corresponding Service Manager
user role. In the following procedure, you create a simple catalog item group. After you
create the group, use an existing user role, or create a new user role, to provide access
to catalog items that have been associated with the group.

To create a catalog item group


1. In the Service Manager console, select Library, and select Groups.
2. In the Tasks pane under Groups, select Create Catalog Group to open the Create
Group Wizard.
3. On the Before You Begin page, read the instructions, and select Next.
4. On the General page, complete these steps:
a. In the Group name box, enter a name for the catalog group. For example, enter
Access Request Offering Group.
b. In the Group description box, enter a description for the catalog group. For
example, enter This group is used to consolidate and provide security to
Access Request Offering catalog items.
c. Next to Management pack, select an unsealed management pack of your
choice, and select Next. For example, if you previously created the Sample
Management Pack, select it.
5. On the Included Members page, complete these steps to select catalog items and
associate them with the catalog group:
a. Select Add to open the Select objects dialog, select one or more catalog items
that you created previously, select Add, and select OK to close the dialog.
b. Select Next.
6. Optionally, on the Dynamic Members page, you can select a class and specific
objects, based on the criteria that you choose, to add as members of the group,
and select Next.
7. Optionally, on the Subgroups page, you can add other groups as members of the
new group that you're creating, and select Next.
8. Optionally, on the Excluded Members page, you can select a class and specific
objects, based on criteria that you choose, to exclude as members of the group,
and select Next.
9. On the Summary page, review the information, and select Create.
10. On the Completion page, select Close.

Specify a user role for catalog items


User roles provide access to catalog groups that contain catalog items. Both service
offerings and their request offerings are available to Self-Service Portal users, when the
status of the offerings is set to Published and if end-users have been assigned a
corresponding Service Manager user role. Only users who have been assigned a user
role associated with a catalog group that contains catalog items can use the Self-Service
Portal to access the service catalog. You can use the following procedure to create a user
role and associate catalog items and users with the role.

To create a user role and associate it with catalog items


and users
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Security, and then select User Roles.
3. In the Tasks pane under User Roles, select Create User Role, and select End User
to open the Create User Role Wizard.
4. On the Before You Begin page, read the instructions, and select Next.
5. On the General page, complete these steps:
a. In the Name box, enter a name for the user role. For example, enter Security
Offerings End User Role.
b. Optionally, in the Description box, enter a description of the purpose of the
user role. For example, enter This user role provides access to security
offerings to end users.
c. Select Next.
6. On the Management Packs page, complete these steps:
a. In Management Packs list, select a management pack that is used by catalog
items. For example, select Service Manager Service Request Configuration
Library.
b. Select Next.
7. On the Queues page, there are no options that apply to security to catalog items;
therefore, select Next.
8. On the Configuration Item Groups page, there are no options that apply to
security to catalog items; therefore, select Next.
9. On the Catalog Item Groups page, select Provide access to only the selected
groups, select the groups that you want to provide access to, and select Next.
10. On the Form Templates page, ensure that All forms can be accessed is selected,
and select Next.
11. On the Users page, add the users and groups that you want to provide access to,
and select Next.
12. On the Summary page, review the information, and select Create.
13. On the Completion page, select Close.

Copy request offerings and service offerings


After you create a request offering or a service offering, you can copy the offering so
that you can easily modify the copied offering.

You can use the following procedures to copy a request offering and a service offering.
Keep in mind that if you copy a published catalog item, the published status of the copy
is set to Draft.

Select the required tab for steps to copy a request or service offering:

Copy a request offering


Follow these steps to copy a request offering:

1. In the Service Manager console, select Library.


2. In the Library pane, expand Service Catalog, expand Request Offerings, and
then select All Request Offerings.
3. In the All Request Offerings list, select the request offering that you want to
copy, and then in the Tasks pane under RequestOfferingName, select Create a
Copy to open the Copy Request Offering dialog.
4. In the dialog, you can optionally select Also create a copy of the template
referred to in this Request Offering to create a copy of the template.
5. Optionally, you can change the management pack where information about
the copied request offering is stored or you can create a new management
pack.
6. Select OK to close the dialog and create the copy.
7. The copied item appears in the list, with a prefix of Copy of. For example, your
copy might have the name Copy of Access to Active Directory Group.

Publish a service offering


You can publish draft service offerings by using the Publish task or by using a change
request. When you publish a service offering by using the Publish task, the service offing
must contain at least one published request offering before it appears in the Self-
Service Portal. If you want to have an approval process added before publishing, you
can associate the service offering with a change request. If you use a change request,
you can also send email notifications as the approval process occurs.

You can use the following procedures to publish a draft service offering and then use a
change request to publish it.

To publish a draft service offering


1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Draft Service
Offerings.
3. In the Draft Service Offerings list, select one or more service offerings, and in the
Tasks pane under ServiceOfferingName, select Publish.
To use a change request to publish a draft service
offering
1. In the Service Manager console, select Library.
2. In the Library pane, expand Service Catalog, and then select Draft Service
Offerings.
3. In the Draft Service Offerings list, select one or more service offerings, and in the
Tasks pane under ServiceOfferingName, select Create Change Request to Publish.
4. In the Select Template dialog, select the Publish Offering change request
template, and select OK to open a new change request form.
5. In the ChangeRequestID: Publish Offerings form, notice that the catalog items to be
published appear under Catalog items.
6. Select the Activities tab, and notice that there's a review activity and an automated
activity associated with the change request. Later, when the review activity is
approved, the automated activity will set the publish status to Published.
7. Select OK to save the change request.

Edit a service offering or a request offering


Request offerings are catalog items that describe the item, assistance, or action that is
available to end-users in the service catalog. Request offerings are normally placed in
logical groups of service offerings. Both service offerings and their request offerings are
available to Self-Service Portal users, when the status of the offerings is set to Published
and if end-users have been assigned a corresponding Service Manager user role. Only
users that have been assigned a user role that is associated with a catalog group that
contains catalog items can use the Self-Service Portal to access the service catalog.

You can use the following procedures to edit a service offering or a request offering.

Edit a request offering

Follow these steps to edit a request offering:

1. In the Service Manager console, select Library.


2. In the Library pane, expand Service Catalog, expand Request Offerings, and
then select All Request Offerings.
3. In the All Request Offerings list, double-click the request offering that you
want to edit.
4. In the Edit Request Offering form, you can edit information on the following
pages:
5. On the General page, complete these steps:
a. In the Title box, enter a title for the request offering. For example, enter
Access to Active Directory group.
b. Optionally, next to Image, you can either select Browse to find an image
file or leave the default selection.
c. In the Description text box, enter a short description that will describe the
request offering that will appear on the Self-Service Portal page. For
example, enter Use this request offering to request membership to an
Active Directory Group.
6. On the User Prompts page, enter questions for users or define other
instructions that will appear on the Self-Service Portal when a user submits a
request by completing the following steps:
a. In the Form instructions box, enter a summary of the information that the
user must provide for the request. For example, enter Provide the
information below to request membership to the Active Directory Group
b. Under Enter prompts or information text, select Add; in the User Prompts
or Information box, enter Enter your cost center; in the Response Type list,
select Required; and in the Prompt Type list, select Integer.
c. In the second Enter Prompts or Information box, enter Select the list of
Active Directory groups that you need access to; in the Response Type
list, select Required; and in the Prompt Type list, select Query Results.
d. In the third Enter Prompts or Information box, enter Enter your
justification for this request; in the Response Type list, select Required;
and in the Prompt Type list, select Text.
7. On the Configure Prompts page, configure prompts to constrain user input to
ensure that users provide the information necessary to fulfill their request by
completing the following steps:
a. Select the Enter your cost center prompt, and select Configure.
b. In the Configure Integer Control dialog, select Limit integer range, set the
Minimum Value to 1000, set the Maximum Value to 6999, and select OK to
close the dialog.
c. Select the Select the Active Directory groups that you want access to
prompt, and select Configure to open the Configure Instance Picker
dialog.
d. In the Configure Instance Picker dialog in the Frequently user basic classes
list, select All basic classes; in the filter box, enter Active; and then select
Active Directory Group.
e. Select the Configure Criteria (optional) tab; in the list of properties under
User, select Department; and select Add Constraint.
f. In the Criteria box, select Department equals; in the Set Token list, select
Select token; and select 1. Enter your cost center: Integer.
g. If the condition is not set to equals, select equals.
h. Select the Display Columns tab, and then select Display Name,
Department, and Last Name.
i. Select the Options tab, select Allow the user to select multiple objects,
select Add user-selected objects as affected configuration items, and then
select Add the requesting user to the list of Active Directory group in the
impacted configuration items (Manual Activity).
j. Select Ok to close the Configure Instance Picker dialog.
8. On the Map Prompts page, associate prompts with various fields of a service
request or its activities, depending on the complexity of the form and the
extension of the class that you have made. Complete the following steps to
associate a justification with the review activity:
a. Select Approval for the user requesting membership to the Active
Directory group - (Review Activity).
b. Next to Description, select the box under Prompt Output, and then in the
list, select 3. Enter your justification: .
9. Optionally, on the Knowledge Articles page, you can select a knowledge
article to associate with this request offering.
10. Optionally, on the Publish page, you can set publishing information.
11. Select OK to close the Edit Request Offering form.

Next steps
Use groups, queues, and lists in Service Manager.
Using Groups, Queues, and Lists in
Service Manager
Article • 03/16/2023

In Service Manager, you can use groups to manage configuration items, queues to
manage work items, and lists to customize forms to classify different objects, such as
incidents, change requests, activities, or configuration items. Use the overview and the
procedures in the following article to help manage these items.

The Library pane in Service Manager contains items, such as groups, queues, and lists.
You can use groups to manage configuration items, and you can use queues to manage
work items. You can use lists to customize forms.

Use groups to manage configuration items


In Service Manager, groups contain objects. Typically, these objects are configuration
items. Groups can include collections of objects of the same class or of different classes.
For example, say you decide to create the Exchange Servers group. You've several
methods to do this. You can create a static group, a dynamic group, or a combination of
static and dynamic groups. A static group is defined by specific objects, such as
"Exchange1" and "Exchange2". A dynamic group is defined by inclusion rules. Inclusion
rules are based on comparing a formula to the actual property value of a configuration
item. The following table shows samples of inclusion rules.

Class.Property Operator Value

Active Directory.Domain Contains Woodgrove

Windows Server.Display Name Contains Exchange Servers

Operating System.Display Name Starts with Windows Server

For example, say that you want to restrict access to Exchange servers to only specific
users. To do this, you create a new group that is named Exchange Servers and add all
Exchange servers in this environment to the group. Later, you can configure user roles to
limit access to the Exchange Servers group to only the specific users to whom you want
to grant access. You can use the Exchange Servers group as criteria when you configure
notification subscriptions. You can also use the Exchange Servers group as criteria for a
report parameter.
Use queues to manage work items
In Service Manager, queues are used to group similar work items that meet specified
criteria, for example, all incidents that are classified by analysts as E-mail incidents. All
work items in a queue must be of the same type, such as incidents, change requests,
activities, or trouble tickets. Queues use membership rules to determine which work
items should be included in each queue. Queue membership rules are dynamic, and
they're periodically recalculated to ensure that the queue membership list is current.

You can create a queue to group work items with a specific type or with a specific
priority. You can then configure user roles to limit access to that queue to only specific
users.

For incident escalation, you can use queues in various ways to speed the resolution of
higher priority or common incidents. For example, you can configure Incident
Management to automatically escalate specific incidents to a high-priority queue

For example, you can use queues as follows:

In notifications, you can use a queue as criteria in a subscription to specify which


work items to notify about.

In security, you can use a queue in user role configuration to limit the scope of
control that groups of users have over work items.

7 Note

When you delete a queue, the work items that are contained in the queue are
preserved. You can delete a queue only if it's in an unsealed management pack.

Use lists to customize forms


You can use lists in Service Manager to classify different objects, such as incidents,
change requests, activities, or configuration items. A list represents a property of an
object, and it includes one or more list items. Each list item represents a possible value
for a property.

Lists are used in forms and dialogs throughout the Service Manager console. Lists and
list items make it possible for users to select a value from a predefined list of values.
When you use lists, you can customize the console to reflect the business practices of
your organization. Additionally, Service Manager contains several predefined lists, such
as the Incident Classification list.
For example, when you're creating an incident, you notice that Printer Problems is an
option under Classification Category. At your company, some standard laser printers in
your accounting department might be used as specialized check-writing printers. To
better route incidents, you want printer-related incidents to be categorized as being
either for standard laser printers or for check-writing printers. Because lists are
customizable, you can add a list item, such as Laser Printers and Check-Writing
Printers, to the Classification Category list when you create an incident. Optionally, you
can build lists as a hierarchy; for example, laser printers and check-writing printers could
be listed under printers. To do this, you can add Laser Printer and Check-Writing Printer
list items to the Incident Classification list.

List items
In Service Manager, several default list items exist. It's important that you not delete the
default list items. Each default list item is defined by a globally unique identifier (GUID).
Some of the default management packs reference these list items by their GUID. If you
delete a list item, some management packs or workflows might not work.

If the name of a default list item causes an issue in your environment, you can change
the display name of the existing item but leave the GUID intact. For example, you can
change the name of the Printing Problems default list item to Laser Printing Problems if
that is better in your environment.

Create a Group
Use the following procedures to create a new group (such as the Exchange Servers
group) that includes the servers in your environment that are running Microsoft
Exchange Server.

7 Note

We recommend that you create a Configuration Manager connector before you run
this procedure.

To create a new group


1. In the Service Manager console, select Library.

2. In the Library pane, expand Library, and select Groups.


3. In the Tasks pane, under Groups, select Create Group. The Create Group Wizard
starts.

4. On the Before You Begin page, select Next.

5. On the General page, do the following:

a. Provide a name for the group, such as Exchange Servers.

b. In the Description text box, enter a description for the group. For example,
enter All Exchange servers that require an update.

c. Under Management pack, ensure that an unsealed management pack is


selected. For example, select Service Catalog Generic Incident Request. Then,
select Next.

6. On the Included Members page, select Add.

7. In the Select Objects dialog, in the Filter by class list, select a class, such as
Windows Computer.

8. In the Search by name box, enter the search criteria that you want to use to locate
an object, and select the filter (magnifying glass) button.

9. Select one or more items in the Available Objects list, and select Add. For example,
select all the Exchange servers in your organization.

10. Verify that the objects that you selected in the Available Objects list appear in the
Selected objects list, and select OK.

11. On the Included Members page, select Next.

12. Optionally, on the Dynamic members page, select the ellipsis button (...) to specify
a type, such as Windows Computer, to build the dynamic members. Choose any
property you want to build your criteria. For example, after you specify the
Windows Computer type, select the Principal Name property, and select Add. In
the related text box, enter woodgrove so that all the computers whose principal
name contains this text are included, and select Next.

13. Optionally, on the Subgroups page, select Add, and then select the specific groups
that you want as subgroups of this group. If any group that you want to select as a
subgroup is from an unsealed management pack, that subgroup must be from the
same management pack as the group that you're creating. Select OK, and select
Next.
14. Optionally, on the Excluded Members page, select Add, and then select the
specific configuration items that you want to exclude from this group. Select OK,
and select Next.

15. On the Summary page, confirm the group settings that you made, and select
Create.

16. On the Completion page, ensure that you receive the following confirmation
message, and select Close:

The new group was created successfully.

To validate the creating of a new group


Ensure that Exchange Servers appears in the Groups pane. If necessary, press the
F5 key to refresh the Service Manager console view.

In the Tasks pane, under the name of the group, select View Group Members to
ensure that the Exchange servers appear in the Group Members window.

You can use a Windows PowerShell command to retrieve groups from Operations
Manager and from Service Manager. For more information, see Get-SCSMGroup.

How to Create a Queue


You can create queues to create a grouping of related work items, such as incidents and
change requests. For example, you can create a queue that you use for escalation,
named Exchange Send Problems Queue, and then escalate that type of incident to that
queue.

You can use the following procedure to create a queue.

To create a queue
1. In the Service Manager console, select Library.

2. In the Library pane, expand Library, and select Queues.

3. In the Tasks pane, select Create Queue.

4. Complete these steps to complete the Create Queue Wizard:

a. On the Before You Begin page, select Next.


b. On the General page, enter a name in the Queue name box. For example, enter
Exchange Send Problems Queue.

c. Next to the Work item type box, select the ellipsis button (...). In the Select a
Class dialog, select a class, such as Incident, and select OK.

d. In the Management pack list, select the unsealed management pack in which
you want to store the new queue definition. For example, select Service
Manager Incident Management Configuration Library. Then, select Next.

e. On the Criteria page, build the criteria that you want to use to filter work items
for the queue, and select Next. Only work items that meet the specified criteria
will be added to that queue.

For example, select the Classification Category property in the Available


Properties area, and select Add. In the list that was just added to the Criteria
area, in the area that is now surrounded by a red box, select E-Mail Problems,
and select Next.

f. On the Summary page, select Create to create the queue.

g. On the Completion page, select Close.

To validate the creation of a queue


1. In the Service Manager console, verify that the new queue appears in the Queues
pane.

2. In the Tasks pane, select Properties, and then verify that the queue appears as you
defined it.

![Screenshot of the PowerShell symbol].(./media/group-queue-lists/pssymbol.png)You


can use a Windows PowerShell command to complete this task. For information about
how to use Windows PowerShell to retrieve queues that are defined in Service Manager,
see Get-SCSMQueue.

Edit a Queue
You can use the following procedure to edit a queue.

To edit a queue
1. In the Service Manager console, select Library.
2. In the Library pane, expand Library, and select Queues.

3. In the Queues pane, select the queue that you want to edit, such as Exchange
Send Problems Queue. Then, in the Tasks pane, select Properties.

4. In the Queue Properties dialog box, on the General and Criteria tabs, make the
changes you want. For example, change the description of the queue.

5. Select OK to save the changes.

Add a List Item


You can use these procedures to add a list item to an existing list and then validate it.
For example, you can use this procedure to add a Laser Printer and Check-Writing
Printer list item to the Incident Classification list.

To add list items to Service Manager lists


1. In the Service Manager console, select Library.

2. In the Library pane, select Lists. The Lists pane displays all the existing lists.

3. Select the list to which you want to add a list item. For example, select the Incident
Classification list. In the Tasks pane, under Incident Classification, select
Properties.

4. In the List Properties dialog, select Printing Problems, and select Add Child.
Notice that a new List Value list item is added.

7 Note

When you select Add Item or Add Child, a Select management pack dialog
might appear. If this dialog appears, select the default management pack,
select another unsealed management pack, or create a new management
pack.

5. Select the new List Value list item. In the Name box, enter a name for the new list
item. For example, enter Laser Printer. If you want, you can optionally enter a
description in the Description box.

6. Repeat steps 4 and 5 and create a new list item with the name Check-Writing
Printer, and select OK.
To validate the addition of a new list item
1. Select the same list again, select Properties in the Tasks pane, and then verify that
the new list item appears.

2. In the Service Manager console, create a new incident, and then locate the new list
item in the Classification Category list. For example, expand Printer Problems, and
then locate the Laser Printer and Check-Writing Printer list items.

Next steps
Use runbooks to automate procedures.
Use Service Manager runbooks to
automate procedures
Article • 03/16/2023

Runbooks in Service Manger are used to automate procedures. The following sections
provide details about the purpose and use of runbooks.

Runbooks in Service Manager


To automate processes in System Center, Orchestrator uses runbooks to automate
procedures. Runbooks are visual representations of the procedures. The value that
runbooks have is that they help ensure that Orchestrator automation is driven and
tracked from Service Manager and that Service Manager interactions with other System
Center products and non-Microsoft systems are easier to implement.

Additionally, the Orchestrator workflow authoring interface is available for your custom
Service Manager scenarios. Runbooks are imported into Service Manager using the
Orchestrator connector. After the connector is synchronized, imported runbooks appear
in the Library workspace under the Runbooks node in the Service Manager console,
where you can view them and also create runbook automation activity templates.

About Orchestrator
System Center - Orchestrator is an automation platform for orchestrating and
integrating IT tools to drive down the cost of datacenter operations, while improving the
reliability of IT processes. Orchestrator enables IT organizations to automate best
practices, such as those that are found in the Microsoft Operations Framework (MOF)
and Information Technology Infrastructure Library (ITIL). This is achieved through
workflow processes that coordinate Microsoft and other management tools to automate
incident response, change and compliance, and service-life-cycle management
processes.

Through its workflow designer, Orchestrator automatically shares data and initiates tasks
in System Center components, including Operations Manager, Service Manager, Virtual
Machine Manager, Configuration Manager, Active Directory Domain Services (AD DS),
and non-Microsoft tools. Orchestrator workflow automates IT infrastructure tasks, while
Service Manager workflow provides automation of human workflow. The combined
offering ensures repeatable, consistent results by removing the latency associated with
manual coordination service delivery. System Center and Orchestrator enable
integration, efficiency, and business alignment of datacenter IT services by:

Automating processes and enforcing best practices for incident, change, and
service-life-cycle management.

Reducing unanticipated errors and service delivery time by automating tasks


across responsibility groups within your IT organization.

Integrating System Center with non-Microsoft tools to enable interoperability


across the datacenter.

Orchestrating tasks across systems for consistent, documented, and compliant


activity.

Create a runbook automation activity template


After you import runbooks into Service Manager using the Orchestrator connector from
Orchestrator, you can create a runbook automation activity template to map parameters
in Orchestrator to corresponding parameters in Service Manager.

As an example, you can implement a new request offering using an Orchestrator


runbook to automate it. Then, you can go to the Runbooks view in the Library
workspace, select a runbook, and create a runbook automation activity template. You
can go to the templates view and verify that the template is created. You can then add
the Orchestrator activity template to a service request template and create the request
offering. You can then map the runbook template to a different runbook with the same
inputs and outputs if you find that you need to fix a problem or improve the process.

) Important

If you have extended root classes such as service request or release record, then
you can map runbook activity parameter to extended properties only if the
runbook activity template and service request templates are saved in same
management pack where the definition extension is located.

To create a runbook automation activity template


1. In the Service Manager console, select Library.

2. In the Library pane, select Runbooks.


3. In the Runbooks view, select a runbook.

4. In the Tasks pane, under RunbookName, select Create Runbook Automation


Activity Template to open the Create Template dialog.

5. In the Name box, enter a name for the template.

6. Optionally, in the Description box, enter a description for the template.

7. If necessary, select an unsealed management pack to save the template to, and
select OK. You will use this management pack later to retrieve the runbook
automation activity template from another work item template, such as a service
request template.

8. In the Runbook Activity Template: TemplateName form, on the General tab, enter
information for Title, Description, Area, Stage, Assigned To, and Designer.

9. Ensure that Is Ready for Automation is selected.

10. Select the Runbook tab, and then under Parameter Mapping, note that the
parameters from the runbook are mapped to generic properties. For example,
Parameter1, Parameter2, and so on, of the runbook activity class. The Type column
specifies whether the parameters are inputs or outputs. You can also enter default
values for each parameter using Edit Mapping.

11. For any parameter, select Edit Mapping.

12. Expand Object, and select Id. This ID value will be used by the Orchestrator
runbook to find the particular runbook activity that is being executed. Select Close.

13. Select OK to close the form and create the template.

View a runbook
After you import runbooks from Orchestrator into Service Manager, you can open the
runbook in the Service Manager console to ensure that it contains the parameters you
want to use in an automation activity template in Service Manager.

When you view the runbook, you can perform basic actions with the runbook, such as
viewing the summary, jobs, instances, and definition of the runbook. You can also start
and stop the runbook.

To view a runbook
1. In the Service Manager console, select Library.

2. In the Library pane, select Runbooks.

3. In the Runbooks view, select a runbook.

4. In the Tasks pane under RunbookName, select View Runbooks to open the
runbook in Internet Explorer.

Next steps
To customize how items are displayed in Service Manager, see User interface
customization.
User interface customization in Service
Manager
Article • 03/16/2023

The sealed management packs in Service Manager contain, among other things, views,
list items, and templates. Because these items are in a sealed management pack, they
can't be edited or changed. In Service Manager, you've the option of hiding views. You
can duplicate list items and templates, saving the duplicates into an unsealed
management pack, and because the duplicates are in an unsealed management pack,
you can edit the properties of the list item or template using the Service Manager
console.

Customize a view
The Failed Service Requests view in Service Manager is in a sealed management pack. In
this example, you will create a duplicate of this view, save it into an unsealed
management pack, and then edit the new view by changing its name to New Failed
Service Requests. You will finish this exercise by hiding the original Failed Service
Requests view. As an administrator, you will still see the hidden view.

To customize a view
1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Service Request Fulfillment.

3. Right-click Failed Service Requests, and select Duplicate View.

4. In the Select management pack dialog, accept the default management pack,
Service Manager Service Request Configuration Library, and select OK.

5. Right-click Failed Service Requests - Copy, and select Edit View.

6. In the Edit Failed Service Requests - Copy Wizard, in Name, enter a new name for
this view. For example, enter New Failed Service Requests, and select OK.

7. Right-click Failed Service Requests, and select Hide View.

Customize a list item


The items in a list in a sealed management pack in Service Manager can't be changed. In
this example, you'll add a list item (phone) to the Service Request Source list and save it
into an unsealed management pack, and then edit the new view by changing its name
to New Failed Service Requests. You will finish this exercise by hiding the original Failed
Service Requests view. As an administrator, you will still see the hidden view.

To customize a list item


1. In the Service Manager console, select Library.

2. In the Library pane, expand Library, and select Lists.

3. In the Lists pane, select Service Request Source.

4. In the Tasks pane, in the Service Request Source area, select Properties.

5. In the List Properties dialog, select Add Item.

6. In the Select management pack dialog, accept the default management pack,
Service Manager Service Request Configuration Library, and select OK.

7. In the List Properties dialog, select List Value.

8. In the Name field, enter Phone, and select OK.

Customize a template
Templates in a sealed management pack in Service Manager can't be changed. In this
example, you will create a copy of the Default Service Request Template and save the
copy in an unsealed management pack. You will then start a Create Template Wizard for
the copy you made.

To customize a template
1. In the Service Manager console, select Library.

2. In the Library pane, expand Library, and select Templates.

3. In the Templates pane, select Default Service Request.

4. In the Tasks pane, under Default Service Request, select Create a Copy.

5. In the Select management pack dialog, accept the default management pack,
Service Manager Service Request Configuration Library, and select OK.
6. In the Templates pane, select Copy of Default.

7. In the Tasks pane, under Copy of Default Service Request, select Properties.

8. In the Create Template dialog, in the Name field, enter a new name for this
template, and select OK.

9. Finish the steps in the Service Request Template Wizard to customize this template
for your needs, and when you're finished, select OK.

Next steps
Manage user roles.
Manage Service Manager user roles
Article • 03/16/2023

This section provides an overview of user roles in List of User Role Profiles in Service
Manager. It includes procedures that you can use to work with user roles.

About user roles


In your organization, some employees are responsible for supporting hardware, such as
portable computers and servers. Some of the employees are allowed to create and
update configuration items but not delete them, whereas others are allowed to create,
update, and delete configuration items.

In the List of User Role Profiles in Service Manager, the security rights that allow users to
access or update information are defined in a user role profile. A user role profile is a
named collection of access rights, and it usually corresponds to an employee's business
responsibilities. Each user role profile controls access to such artifacts as knowledge
articles, work items (incidents, change requests), authoring, administration, and other
credentials. Think of user role profiles as defining what you're allowed to do.

In the future, managers at your organization may decide to separate the group of
employees who maintain configuration items into two groups: those who handle
configuration items for desktop computers and those who handle configuration items
for portable computers. They want to retain these two user role profiles, one profile that
can create and edit but not delete configuration items, and another profile that can
create, edit, and delete configuration items. You would define these user role profiles
with different scopes, one for desktops and one for portable computers. If user role
profiles define what you're allowed to do, think of scopes as defining what items you're
allowed to modify. The combination of a user role profile and a scope is called a user
role.

Understanding user roles


In Service Manager, when you select Administration, expand Security, and select User
Roles, a User Roles pane displays a list of user roles. Each of these user roles has been
configured with a user role profile and an undefined scope. Because the scope is
undefined for these user roles, they can exercise their user profiles on all management
packs, queues, groups, tasks, views, and form templates. The following table lists the
default user roles, their associated user role profiles, and scope.
User role User role profile Scope

Activity Implementers Activity Implementer Global

Administrators Administrator Global

Advanced Operators Advanced Operator Global

Change Initiators Change Initiator Global

End Users End User Global

Read-Only Operators Read-Only Operator Global

Authors Author Global

Problem Analysts Problem Analyst Global

Workflows Workflow Global

Incident Resolvers Incident Resolver Global

Change Managers Change Manager Global

Report Users Report User Global

Release Managers Release Manager Global

Service Request Analysts Service Request Analyst Global

7 Note

The Service Manager Report Users user role is available only after you register with
the Service Manager data warehouse and after the Data Warehouse navigation
button is available. To view the Service Manager Report Users user role, select Data
Warehouse, expand Security, and select User Roles.

Example
For example, say that you want to define one security access that allows users to create
and edit, but not delete, configuration items and another security access that allows
users to create, edit, and delete configuration items. Appendix A, at the end of this
guide, lists the user role profiles and their associated artifacts. The following table shows
user role profiles as they relate to configuration items.

User role profile Create configuration Update configuration Delete configuration


items items items
User role profile Create configuration Update configuration Delete configuration
items items items

Report User No No No

End User No No No

Read-Only No No No
Operator

Activity No No No
Implementer

Change Initiator No No No

Incident Resolver No No No

Problem Analyst No No No

Change Manager No No No

Advanced Yes Yes No


Operator

Author Yes Yes No

Workflow Yes Yes No

Administrator Yes Yes Yes

Using the previous table, you can see that the Advanced Operators user role profile can
create and update, but not delete, configuration items. The Administrators user role
profile can create, update, and delete configuration items. The members of the asset
management team who are allowed to create and update, but not delete, configuration
items are made members of the predefined Service Manager Advanced Operators
profile. The members of the asset management team who are allowed to create, edit,
and delete configuration items are made members of the Administrators profile.

As a best practice, assume that members of the asset management team might change.
You should create two groups in Active Directory Domain Services (AD DS) and make
those groups members of the Advanced Operators and Administrators profiles. Then, as
members change, users are added and removed from the Active Directory group, and
no changes have to be made in Service Manager.

In the future, if you break the asset management team into two groups, one for
desktops and the other for laptops, you can create your own user role by using the
same user role profiles, but with different scopes.
Why some user roles cannot be created
When you're creating a user role, notice that three user roles aren't available:
Administrator, Report User, and Workflows. These three user roles are created and
populated during Setup, and, generally speaking, these user roles are used by Service
Manager. The following sections describe each of these user roles.

Administrator

The Administrator user role is global in scope; therefore, there's no reason for creating
another user role of this type.

Report user
The user role, Report User, has one purpose in Service Manager: to find the computer
hosting Microsoft SQL Server Reporting Services (SSRS) for the user at a Service
Manager console. When a user at a Service Manager console tries to run a report, a
query is made to the Service Manager management server seeking the computer that is
hosting the data warehouse management server. The Service Manager console then
queries the data warehouse management server seeking the name of the computer
hosting SSRS. With that information, the Service Manager console connects to SSRS. The
singular purpose of the user role, Report User, is to make these queries. After the Service
Manager console connects to the SSRS, the credentials of the user running the console
grant access as defined on the SSRS. Because of the narrow purpose of this user role,
there's no reason for creating another user role.

Workflows
Workflows might have to read and write to the Service Manager database. During Setup,
you're asked to provide credentials for the Workflows user role, and this user role
performs the required actions on the Service Manager database. Like the user role,
Report User, the narrow purpose of the Workflow user role means there's no reason for
creating other user roles.

Add a member to a user role


In Service Manager, you can assign users to a user role to define what they can do.

In this example, you have to add members of an asset management team who can
create and update, but not delete, configuration items to the user role. Looking at the
Configuration Items section of User role profiles in Service Manager, you see that the
Advanced Operators user role profile provides what you need regarding permissions for
this team. At this time, all members of the asset management team are responsible for
every asset in the company; therefore, they require unlimited scope.

Use the following procedures to add a user to the Service Manager Advanced Operators
user role and then validate the assignment of the user to the user role.

To assign a user to a user role


1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Security, and then select User Roles.

3. In the User Roles pane, double-click Advanced Operators.

4. In the Edit User Role dialog, select Users.

5. On the Users page, select Add.

6. In the Select Users or Groups dialog, enter the name of a user or group that you
want to add to this user role, select Check Names, and select OK.

7. In the Edit User Role dialog, select OK.

To validate the assignment of a user to a user role


Sign in to the Service Manager console as one of the users assigned to the user
role. Verify that you can't access data for which you don't have access rights, as
specified in the user roles.

You can use a Windows PowerShell command to view users. For information about
how to use Windows PowerShell to retrieve users that are defined in Service Manager,
see Get-SCSMUser.

Create a user role


Use the following procedures to create a user role and assign users to that role in
Service Manager and then validate the creation of the user role.

To create a user role


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Security, and then select User Roles.

3. In the Tasks pane under User Roles, select Create User Role, and then select the
user role profile that you want to use for this user role, such as Author.

4. Complete the User Role Wizard by doing the following:

a. On the Before You Begin page, select Next.

b. On the General page, enter a name and description for this user role, and select
Next.

c. On the Management Packs page, start to filter the scope of the data that you
want to assign access to. Select the management packs that contain the data
that you want to assign access to, such as Incident Management Library. Select
Next.

d. On the following pages, all the classes, queues, groups, tasks, views, and form
templates that are available for the specified user role from the specified
management packs, are displayed. You can select specific items on these pages
to further limit the set of data that access is assigned to.

) Important

The groups and the queues lists aren't filtered--all groups and queues from
all management packs are listed. If you select the Select all queues item on
the Queues page, on the Groups page, Select all Groups is selected
automatically. In addition, by default, no groups have been created. You've
to create a group if you want to limit scope by group.

e. On the Users page, select Add, and use the Select Users or Groups dialog to
select users and user groups from Active Directory Domain Services (AD DS) for
this user role, and then select Next.

f. On the Summary page, ensure that the settings are correct, and select Create.

g. On the Completion page, ensure that The user role was created successfully
appears, and select Close.

To validate the creation of a user role


1. In the Service Manager console, verify that the newly created user role appears in
the middle pane.
2. Sign in to the Service Manager console as one of the users assigned to the user
role. Verify that you can't access data for which you don't have access rights, as
specified in the user role.

You can use Windows PowerShell commands to complete these and other related
tasks, as follows:

For information about how to use Windows PowerShell to create a new user role in
Service Manager, see New-SCSMUserRole.

For information about how to use Windows PowerShell to retrieve user roles that
are defined in Service Manager, see Get-SCSMUserRole.

For information about how to use Windows PowerShell to set the UserRole
property for a Service Manager user, see Update-SCSMUserRole.

For information about how to use Windows PowerShell to remove a user role from
Service Manager, see Remove-SCSMUserRole.

Next steps
For password security requirements, password expiration, and user name changes,
see Manage Run As accounts.
Manage Run As accounts in Service
Manager
Article • 03/16/2023

During the setup of Service Manager, you specified credentials for the workflow and
service accounts, for Microsoft SQL Server Analysis Services, and for SQL Server
Reporting Services (SSRS). If, because of the configurations of password security
requirements used in your organization, these passwords expire, you must update the
new passwords in Service Manager. In addition, if you decide that the user names must
change, you also must change them in Service Manager. This section describes how to
make those changes.

It's a best practice never to delete Run As accounts from the Service Manager console.
The Service Manager management pack monitors Run As accounts. At regular intervals,
the Health service attempts to log on as the Run As accounts. If this fails, Event ID 7000
is invoked that causes an alert. The best way to avoid this issue is never to delete Run As
accounts from the Service Manager console. You can reuse existing Run As accounts by
changing their name or credentials. If you want to stop using a Run As account, you can
change its credentials to Local System and change the name to something easy to
remember, such as Inactive.

Change the user credentials for the Operational


Database account used by Service Manager
If the user account for the Operational Database Account in Service Manager changes,
you must make the following changes:

1. Add the new account to the Service Manager Administrators user role for both the
Service Manager and data warehouse management servers

2. Create a SQL Server logon account for the new user on computers hosting Service
Manager databases. On the computer hosting the Service Manager database,
assign the new user to the skd_users and configsvc_users roles.

3. Make the new account a local administrator on the Service Manager computers.

4. Make the new user account the logon account for the Service Manager Data
Access Service and Service Manager Management Configuration services, and then
restart these services.
7 Note

The logon account for the Service Manager Management service is always the
local system account and must not be changed.

5. Restart the Service Manager Management service.

6. Make the new user the Operational Run As account.

Use the following procedures to make these changes in Service Manager.

) Important

Don't configure the Operational Database Account to use the Network Service
account.

To add the user to the local administrators account


1. Add the new user as a member of the Administrators local group in Windows on
the computers hosting the following:

Service Manager management server


Data warehouse management server
Self-Service Portal
Service Manager database
Data warehouse databases

To add the user to the Administrators user role


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Security, and select
User Roles.
3. In the User Roles pane, select Administrators.
4. In the Tasks pane, select Properties.
5. In the Edit User Role Wizard, select Users.
6. Select Remove to remove the existing credentials, select Add and add the new
credentials, and select OK.
7. In the Service Manager console, select Data Warehouse.
8. In the Data Warehouse pane, expand Data Warehouse, expand Security, and
select User Roles.
9. Repeat steps 3 through 6.

To change the logon account for the Service Manager


Data Access Service and Service Manager Management
Configuration services
1. On the computer that hosts the Self-Service Portal, on the Windows desktop, select
Start, and select Run.
2. In the Run dialog, in the Open box, enter services.msc, and select OK.
3. In the Services window, in the Services (Local) pane, right-click System Center
Data Access Service, and select Properties.
4. In the System Center Data Access Service Properties (Local Computer) dialog,
select Log On, and select Browse.
5. In the Select User or Group dialog, complete these steps:
a. Select Locations, in the Locations dialog, select Entire Directory, and select OK.
b. In the Enter the object name to select box, enter the name of the new
Operational Database Account, select Check Names, and select OK.
c. In the Password and Confirm Password boxes, enter the password for the new
user, and select OK.
6. Restart the Service Manager Data Access Service.
7. Right-click System Center Management Configuration, and select Properties.
8. In the System Center Management Configuration Properties (Local Computer)
dialog, select Log On, and select Browse.
9. In the Select User or Group dialog, complete these steps:
a. Select Locations, and in the Locations dialog, select Entire Directory, and select
OK.
b. In the Enter the object name to select box, enter the name of the new
Operational Database Account, select Check Names, and select OK.
c. In the Password and Confirm Password boxes, enter the password for the new
user, and select OK.
10. Restart the Service Manager Management Configuration service.

To create a SQL Server logon


1. On the computers hosting the Service Manager and data warehouse databases,
open SQL Server Management Studio.
2. In the Connect to Server dialog, complete these steps:
a. In the Server Type list, select Database Engine.
b. In the Server Name list, select the server name for your Service Manager or data
warehouse databases.
c. In the Authentication list, select Windows Authentication, and select Connect.
3. In the Object Explorer pane, expand Security, and then expand Logins.
4. Right-click Logins, and select New Login.
5. In the Login - New dialog, in the Select a page pane, select General, and select
Search.
6. In the Select User or Group dialog, complete these steps:
a. Select Locations, in the Locations dialog, select Entire Directory, and select OK.
b. In the Enter the object name to select box, enter the name of the new
Operational Database Account, select Check Names, and select OK.
7. In the Select a page pane, select Server Roles, and in the Server roles list, ensure
that sysadmin and public are selected, and select OK.

To change the Service ManagerSelf-Service Portal


application pool account
1. On the Windows desktop, select Start, point to Programs, point to Administrative
Tools, and select Internet Information Services (IIS) Manager.
2. In the Internet Information Services (IIS) Manager window, in the Connections
pane, expand the name of your computer, and select Application Pools.
3. In the Application Pools pane, right-click SM_AppPool, and select Advanced
Settings.
4. In the Advanced Settings dialog, in the Process Model area, select Identity, and
select the ellipsis (...) button.
5. In the Application Pool Identity dialog, select Custom account, and select Set.
6. In the Set Credentials dialog, in the User name box, enter the user name for the
Operational Database Account. In the Password and Confirm password boxes,
enter the password for the new Operational Database Account, and select OK.
7. In the Application Pool Identity dialog, select OK.
8. In the Advanced Settings dialog, select OK.
9. Close Internet Information Services (IIS) Manager.

To change the Operational Database Account


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Security, and select
Run As Accounts.
3. In the Run As Accounts pane, select Operational Database Account.
4. In the Tasks pane, select Properties.
5. In the Operational Database Account page, in the User name, Password, and
Domain boxes, enter the new credentials for the Operational Database Account,
and select OK.

Change the password for the Operational


Database account used by Service Manager
To change the login password for the Service Manager Data Access and Service
Manager Management Configuration services, perform the following procedure.

1. On the Windows desktop, select Start, and select Run.


2. In the Run dialog, in the Open box, enter services.msc, and select OK.
3. In the Services window, in the Services (Local) pane, right-click System Center
Data Access Service, and select Properties.
4. In the System Center Data Access Service Properties (Local Computer) dialog,
select Log On.
5. Type the new password in the Password and Confirm Password text boxes, and
select OK.
6. Restart the Service Manager Data Access Service.
7. Right-click System Center Management Configuration, and select Properties.
8. In the System Center Management Configuration Properties (Local Computer)
dialog, select Log On.
9. Enter the new password in the Password and Confirm Password text boxes, and
select OK.
10. Restart the System Center Management Configuration service.

Change the workflow Run As account


credentials used by Service Manager
During setup, you defined the account to be assigned to the Service Manager Workflow
Run As account. If the password for that account changes, you must update the
Workflow Run As account with the new password. If you want to change the account for
the Service Manager Workflow Run As account, you must change both the Workflow
Run As account and the Workflow User Role.

Use the following procedures to define a new user account for the Workflow Run As
account and to update a new password for the existing account.

To change the Workflow Run As account using new


credentials
1. In the Service Manager console, select Administration.

2. In the Administration pane, expand Administration, expand Security, and select


Run As Accounts.

3. In the Run As Accounts pane, select Workflow Account.

4. In the Tasks pane, select Properties.

5. In the Workflow Account page, in the User name, Password, and Domain boxes,
enter the new credentials for the Workflow Run As account, and select OK.

6. In the Administration pane, select User Roles.

7. In the User Roles pane, select Workflows.

8. In the Tasks pane, select Properties.

9. In the Edit User Role Wizard, select Users.

10. Select Remove to remove the existing credentials, select Add to add the
credentials you specified in step 5, and select OK.

) Important

Failure to configure the new account for the Workflow Run As account and
User Role causes Service Manager to stop functioning.

To change the password for the Workflow Run As account


credentials
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, expand Security, and select
Run As Accounts.
3. In the Run As Accounts pane, select Workflow Account.
4. In the Tasks pane, select Properties.
5. In the Workflow Account page, in the Password box, enter the new password for
the Workflow Run As account, and select OK.

Change the credentials for a SQL Server


Analysis Services account used by Service
Manager
If the account that is used for the SQL Server Analysis Services account changes in
Service Manager, you must also change the credentials for the account. Use the
following procedure to change the credentials for the SQL Server Analysis Services
account.

To change the credentials for the SQL Server Analysis


Services account
1. On the computer hosting SQL Server Analysis Server (SSAS), open SQL Server
Management Studio.
2. In the Connect to Server dialog, complete these steps:
a. In the Server Type list, select Analysis Services.
b. In the Server Name list, select the server name for your Service Manager or data
warehouse databases.
c. In the Authentication list, select Windows Authentication, and select Connect.
3. In Microsoft SQL Server Management Studios, in the Object Explorer pane,
expand Databases, expand DWASDataBase, expand Data Sources, and then
double-click DWDataMart.
4. In Data Source Properties - DWDataMart, under Security Settings, select the
ellipsis button (...) next to ImpersonateAccount.
5. In the Impersonation Information window, select Use a specific Windows user
name and password, enter the credentials for the new account, and select OK.
6. Select OK to close Data Source Properties - DWDataMart, and then close
Microsoft SQL Server Management Studio.

Change the credentials for the SQL Server


Reporting Services account used by Service
Manager
If the account that is used for the SQL Server Reporting Services account changes in
Service Manager, you must change the credentials for the account. Use the following
procedure to change the credentials for the SQL Server Reporting Services account.

To change the credentials for the SQL Server Reporting


Services account
1. On the computer hosting SQL Server Reporting Server (SSRS), start a browser, and
connect to http://<server name>/reports .
2. On the SQL Server Reporting Services Home page, double-click Service Manager,
and then double-click DWStagingAndConfig.
3. In the Connect using area, select Credentials stored securely in the report server,
enter the current credentials in the User name and Password boxes, and select
Apply.
4. In the browser tool bar, select the Back button to return to the Service Manager
page.
5. Repeat steps 2 and 3 for the remaining Service Manager data sources.

Change the default language for the SQL login


accounts
We recommend English as the default language for the SQL users' login accounts.

As date format is based on the language, if the language of SQL user login accounts
isn't English, then, a few data warehouse jobs, especially the jobs that use SQL
SET_DateFormat function, fail. These jobs don't push the data into the data warehouse
from Service Manager or might send incorrect data into the data warehouse, leading to
data corruption in the data warehouse.

You can set the default language as English for a new SQL login account or change the
default language for an existing account. Learn more.

Next steps
Manage knowledge articles.
Manage Service Manager knowledge
articles
Article • 03/16/2023

Knowledge articles in Service Manager can help service desk analysts and end-users
understand and solve problems. Any employee can search for, view, and create
knowledge articles so that end-users can help themselves and resolve IT problems
before new work items are opened. Service desk analysts also have to link work items to
knowledge articles.

Use the procedures in this article to create and search for knowledge articles.

Create a knowledge article


You can use the following procedure to create a knowledge article in Service Manager.
This procedure describes how to create a new example knowledge article to help users
obtain the latest service pack for Windows 10. However, you can complete these steps
to create any type of knowledge article.

7 Note

To view external content in knowledge articles, the computer on which the Service
Manager console is installed must be connected to the Internet, either directly or
through a proxy server.

To create a knowledge article


1. In the Service Manager console, select Library.

2. In the Library pane, expand Knowledge, and select All Knowledge Articles.

3. In the Tasks pane, under Knowledge, select Create Knowledge Article.

4. In the form that appears, on the General tab, in the Knowledge article information
area, follow these steps:

a. In the Title box, enter a title for the knowledge article. For example, enter How
to obtain Windows 10 service packs.
b. In the description box, enter a description for the article. For example, enter You
can use this article to help understand this problem and to correct the
problem yourself.

5. In the Knowledge form, expand the Classification area, and then complete these
steps:

a. In the Keywords box, enter classification keywords that you can later search,
separated by semicolons. For example, enter Windows; Service; Pack.

b. In the Knowledge Article Owner box, browse for and select an owner for the
knowledge article. For example, select Phil Gibbons.

c. In the Category list, select an applicable category. For example, select Software.

6. Expand the External Content area. In the URL box, enter the web address if the
information source of the article is known. For example, enter
https://support.microsoft.com/kb/935791 .

7. Expand Internal Content. In the box, enter or paste information about how the
user can apply information from the External Content box to fix a problem that is
specific to your organization. For example, enter Visit the URL to read about how
to download the latest service pack for Windows 10.

8. Select OK to save the new knowledge article.

To validate that the knowledge article was created


Verify that the new knowledge article appears in the All Knowledge Articles pane.

Search for a knowledge article


You can use the following procedures to search for a knowledge article by using the
Service Manager console in Service Manager. If you want to link a knowledge article to
an incident or to a change request, save the incident or change request first. You can
perform full-text searches when you search for knowledge articles. When you search,
Service Manager queries the following fields in the knowledge search form:

Title

Description

Comments
Keywords

External URL

Internal Content

Analyst Content

When the search is complete, Service Manager displays matches for content in the Title,
End-User content, and Analyst Content fields. If you want to view the whole article,
select Open article to see external content. If you enter Windows 10 in the search box,
that exact string must exist in one of the knowledge article fields.

7 Note

Partial matches aren't returned by a search. Therefore, when you search for a
knowledge article based on a keyword, you must enter the exact word. However,
you can use the asterisk (*) as a wildcard character when you perform a search.

To search for a knowledge article using the Service


Manager console
1. In the Service Manager console, in the search box, enter a keyword or term. For
example, enter Windows 10.

2. Select the arrow to the right of the search box to view a list of the objects for
which you want to search, and select Knowledge.

The Knowledge Search form displays the knowledge articles that match the search term.

To search for a knowledge article when an incident or


change request form is open
1. With an incident or change request form open, in the Tasks pane, select Search for
Knowledge Articles.

2. In the Knowledge Search form, enter a search term in the Search for box, and
select Go. For example, enter Windows 10.

To link a knowledge article to an incident or change


request
1. In the Service Manager console, in the search box, enter the keyword or term for
which you want to search. For example, enter Windows 10.

2. Select the arrow to the right of the search box to view a list of the objects for
which you want to search, and select Knowledge.

3. The Knowledge Search form displays the knowledge articles that match the search
term.

4. Select the article that you want to link, and select Link To.

5. In the Select objects dialog, under Filter by class, select either Incident or Change
Request.

6. Select an incident or change request, and select OK.

7. Select OK to close the informational message.

8. In the Knowledge Search form, select Close.

Next steps
Configure and use Service Manager cmdlets.
Configure and use Service Manager
cmdlets for Windows PowerShell
Article • 03/16/2023

This article provides an introduction to the Service Manager cmdlets for the Windows
PowerShell command-line interface.

Before you can run any command in the Windows PowerShell command-line interface in
Service Manager, you must set execution policy to RemoteSigned. Before you can run
data warehouse cmdlets, you must manually import the data warehouse cmdlets
module.

The Service Manager cmdlets are implemented in the following two modules:

System.Center.Service.Manager. This module is imported automatically every time


a Service Manager Windows PowerShell session is opened.

Microsoft.EnterpriseManagement.Warehouse.Cmdlets. This module must be


imported manually.

Get started with Service Manager cmdlets


Windows PowerShell is a Windows command-line shell that includes an interactive
prompt and a scripting environment. Windows PowerShell uses cmdlets to manipulate
the Windows PowerShell objects. Service Manager includes many cmdlets that you can
use to perform various Service Manager-related tasks without using the Service
Manager console. For example, you can use the Import-SCSMManagementPack cmdlet
to import a management pack.

The Service Manager cmdlets are delivered in two modules that are listed below. In
Service Manager, these cmdlet modules aren't installed in the typical path that is listed
in the $env:PSModulePath variable. Therefore, if you run the Get-Module -List cmdlet,
the Service Manager modules aren't listed.

Administrator cmdlets: The System.Center.Service.Manager module that contains


the cmdlets that are needed for common administrative tasks.

Data warehouse cmdlets: The


Microsoft.EnterpriseManagement.Warehouse.Cmdlets module that contains the
cmdlets that are needed for operating on the Service Manager data warehouse.
The data warehouse cmdlets operate on the data warehouse database, and you can run
them on both the Service Manager management server or the data warehouse
management server.

Data returned from Windows PowerShell command might contain more information
than can be displayed in a default Windows PowerShell command window. We
recommend increasing the width of the command window: Right-click the title bar,
select Properties, and in the Layout tab, set the Screen Buffer Size width to 120.

The following procedures help you to get started with Service Manager cmdlets.

To open a Service Manager Windows PowerShell session


from the Service Manager console
1. In the Service Manager console, select Administration.

2. On the Tasks pane, select Start PowerShell Session.

The administrator cmdlet module is automatically pre-imported in this session.

To open a Service Manager Windows PowerShell session


from Windows
1. On the computer that hosts the Service Manager management server, on the
taskbar, select Start, point to All Programs, and select Microsoft System Center.

2. Select Service Manager <version>, and select Service Manager Shell.

The administrator cmdlet module is automatically pre-imported in this session.

To list all Service Manager cmdlets


1. Open a Service Manager Windows PowerShell session.

2. To list the cmdlets that are included in the administrator module, in the Service
Manager Windows PowerShell session, enter the following, and then press ENTER:

Get-Command -module System.Center.Service.Manager

3. To list the cmdlets that are included in the data warehouse module, in the Service
Manager Windows PowerShell session, enter the following, and then press ENTER:
Get-Command -module Microsoft.EnterpriseManagement.Warehouse.Cmdlets

To get Help for a cmdlet


1. Open a Service Manager Windows PowerShell session.

2. You can now access the on-the-box Help, or you can use the -online parameter to
access the most up-to-date online Help:

On-the-box Help: Type the following command. Replace cmdlet-name with


the name of the cmdlet that you want to get help for, for example, Import-
SCSMManagementPack:

Get-help <cmdlet-name> -detailed

Online, up-to-date Help: Type the following command, and then press
ENTER:

Get-help <cmdlet-name> -online

This command uses the -online parameter to access the latest online Help
for a cmdlet. It opens a web browser and displays the online Help that is
available for cmdlet-name.

List of the Service Manager cmdlets


Service Manager supports the following Windows PowerShell cmdlets, which are
implemented in two modules: the administrator module and the data warehouse
module.

Administrator cmdlets in the


System.Center.Service.Manager module

Cmdlet Description
Cmdlet Description

Add-SCSMAllowListClass Adds the specified classes to the Allow list of classes that
is used by the Service Manager Operations Manager CI
Connector during synchronization.

Export-SCSMManagementPack Exports a management pack as a valid XML-formatted


file that you can later import into Service Manager or
Operations Manager.

Get-SCSMAllowList Retrieves the Allow list of classes that is used by the


Service Manager Operations Manager CI Connector
during synchronization.

Get-SCSMAnnouncement Retrieves announcements that are defined in Service


Manager.

Get-SCSMChannel Retrieves the Email Notification channels that are defined


in Service Manager.

Get-SCSMClass Retrieves a class.

Get-SCSMClassInstance Retrieves class instance objects.

Get-SCSMCommand

Get-SCSMConnector Retrieves connectors that are defined in Service


Manager.

Get-SCSMDCMWorkflow Retrieves the list of desired configuration management


workflows that are defined in Service Manager.

Get-SCSMDeletedItem Retrieves items that have been marked for deletion in


Service Manager.

Get-SCSMDiscovery Retrieves discovery information from Operations


Manager and from Service Manager.

Get-SCSMEmailTemplate Retrieves Email templates that are defined in Service


Manager.

Get-SCSMEmailTemplateContent Retrieves the content of Service Manager Email


templates.

Get-SCSMGroup Retrieves groups from Operations Manager and from


Service Manager.

Get- Retrieves all management group connections, including


SCSMManagementGroupConnection the IsActive state of these connections. Only one
connection will have its IsActive state set to True,
because only one connection can be active at any time.
Cmdlet Description

Get-SCSMManagementPack Retrieves objects that represent management packs that


have been imported.

Get-SCSMObjectTemplate Retrieves an object template.

Get-SCSMQueue Retrieves queues that are defined in Service Manager.

Get-SCSMRelationship Retrieves information about relationship objects from


Operations Manager and from Service Manager.

Get-SCSMRelationshipInstance Retrieves the instances of relationships from Operations


Manager and from Service Manager.

Get-SCSMRunAsAccount Retrieves Run As accounts.

Get-SCSMSetting Retrieves configuration settings of System Center Service


Manager.

Get-SCSMSubscription Retrieves subscriptions that are configured in Service


Manager.

Get-SCSMTask Retrieves tasks that are defined in Service Manager.

Get-SCSMUser Retrieves users that are defined in Service Manager.

Get-SCSMUserRole Retrieves user roles that are defined in Service Manager.

Get-SCSMView Retrieves views that are defined in Service Manager.

Get-SCSMWorkflow Retrieves configuration information for Service Manager


workflows.

Get-SCSMWorkflowStatus Retrieves the status of workflows in Service Manager.

Import-SCSMInstance Imports objects and relationships from a comma-


separated value (.csv) file into Service Manager.

Import-SCSMManagementPack Imports management packs.

New-SCOrchestratorConnector Creates a new Service Manager Orchestrator connector.

New-SCRelationshipInstance Creates an instance of a relationship.

New-SCSMADConnector Creates a new Active Directory connector.

New-SCSMAlertRule Creates an alert rule to be used with an Operations


Manager alert connector in Service Manager.

New-SCSMAnnouncement Creates a new announcement in Service Manager.

New-SCSMClassInstance Adds a class instance to the database.


Cmdlet Description

New-SCSMCMConnector Creates a new Configuration Manager connector in


Service Manager.

New-SCSMDCMWorkflow Creates a new desired configuration management


workflow in Service Manager.

New-SCSMEmailTemplate Creates a new Email template for Service Manager.

New- Creates a new connection for the specified management


SCSMManagementGroupConnection group. The most recent management group connection
that was created is the active connection that Get-
cmdlets use by default, in which you didn't specify the
ComputerName and Credential, or the SCSession
parameters.

New-SCSMManagementPack Creates a new management pack.

New-SCSMManagementPackBundle Bundles individual management packs and their


resources, creating a new management pack bundle.

New-SCSMOMAlertConnector Creates a new Operations Manager alert connector in


Service Manager.

New- Creates a new Operations Manager CI connector in


SCSMOMConfigurationItemConnector Service Manager.

New-SCSMRunAsAccount Creates a new Run As account.

New-SCSMSubscription Creates a new subscription in Service Manager.

New-SCSMUserRole Creates a new user role in Service Manager.

New-SCSMWorkflow Creates a new workflow in Service Manager.

New-SCVMMConnector Creates a new Service Manager Virtual Machine Manager


connector.

Protect-SCSMManagementPack Seals a management pack, preventing it from being


modified.

Remove-SCSMAllowListClass Removes the specified classes from the Allow list of


classes that are used by the Operations Manager CI
Connector during synchronization in Service Manager.

Remove-SCSMAnnouncement Removes an announcement from Service Manager.

Remove-SCSMClassInstance Removes an instance of a configuration item object.

Remove-SCSMConnector Removes a connector from Service Manager.


Cmdlet Description

Remove-SCSMDCMWorkflow Removes a desired configuration management workflow


from Service Manager.

Remove-SCSMEmailTemplate Removes an Email template from Service Manager.

Remove- Removes a management group connection.


SCSMManagementGroupConnection

Remove-SCSMManagementPack Removes management packs.

Remove-SCSMRunAsAccount Removes a Run As accounts.

Remove-SCSMSubscription Removes a subscription from Service Manager.

Remove-SCSMUserRole Removes a user role from Service Manager.

Remove-SCSMWorkflow Removes a workflow from Service Manager.

Reset-SCSMAllowList Resets the Allow list of classes that is used by the


Operations Manager CI Connector in Service Manager to
the default Allow list.

Restore-SCSMDeletedItem Restores items that were previously deleted in Service


Manager.

Set-SCSMChannel Sets the properties of the email notification channel in


Service Manager.

Set- Sets the specified connection as the active connection.


SCSMManagementGroupConnection The active connection is the connection that is implicitly
used when you run a Get- cmdlet without specifying -
ComputerName and -Credential or -SCSession
parameters. Only one connection can be active at any
time, and by default the active connection is the last
connection that was created by using the New-
SCManagementGroupConnection cmdlet.

Start-SCSMConnector Starts a Service Manager connector.

Test-SCSMManagementPack Tests the validity of a management pack.

Update-SCSMAnnouncement Updates the properties of an announcement for Service


Manager.

Update-SCSMClassInstance Updates property values of a configuration item class


instance.

Update-SCSMConnector Updates properties of a Service Manager connector.


Cmdlet Description

Update-SCSMDCMWorkflow Updates properties of a desired configuration


management workflow.

Update-SCSMEmailTemplate Updates properties of an Email template.

Update-SCSMRunAsAccount Updates the credentials that are associated with a Run


As account.

Update-SCSMSetting Updates the configuration settings for Service Manager.

Update-SCSMSubscription Updates subscription properties in Service Manager.

Update-SCSMUserRole Sets the UserRole property for a Service Manager user.

Update-SCSMWorkflow Updates workflow properties.

Data Warehouse cmdlets in the


Microsoft.EnterpriseManagement.Warehouse.Cmdlets
module

Cmdlet Description

Disable-SCDWJob Disables a data warehouse job to prevent it from running.

Disable- The Disable-SCDWJobSchedule cmdlet disables a Data Warehouse


SCDWJobSchedule job schedule, which causes the job schedule to stop initiating jobs. If
the job schedule was previously enabled, disabling the job schedule
retains the job schedule settings. To modify the job schedule settings,
run the Set-SCDWJobSchedule cmdlet.

Disable-SCDWSource Enables all jobs that are affiliated with the specified data source.

Enable-SCDWJob Enables a Data Warehouse job so that it can run according to its
schedule.

Enable- The Enable-SCDWJobSchedule cmdlet allows Data Warehouse


SCDWJobSchedule administrators to enable job schedules so that jobs run according to
their specified schedule. To disable the job schedule, use the Disable-
SCDWJobSchedule cmdlet.

Enable-SCDWSource Enables all jobs that are affiliated with the specified data source.

Get-SCDWEntity Gets the list of fact tables, dimensions, tables, and outriggers that exist
in a data warehouse.

Get-SCDWJob Gets the job status of all recurring jobs, including extraction,
transformation, and load (ETL) jobs.
Cmdlet Description

Get-SCDWJobModule Returns detailed information for the specified job. This information
includes job modules that are executed as part of the job.

Get-SCDWJobSchedule The Get-SCDWJobSchedule cmdlet displays scheduling information


for Data Warehouse jobs. You can use the JobName parameter to
specify a job for which to display scheduling information. Otherwise,
the Get-SCDWJobSchedule cmdlet displays scheduling information
for all Data Warehouse jobs.

Get-SCDWModule

Get- The Data Warehouse grooms out rows after a predefined retention
SCDWRetentionPeriod period. This cmdlet gives the retention period for a particular entity in
minutes. If no entity is provided, it gives back the default retention
period for all entities.

Get-SCDWSource Enables all jobs that are affiliated with the specified data source.

Get-SCDWSourceType Gets the types of data sources that can be registered to the data
warehouse.

Get-SCDWWatermark Gets the latest watermark for the specified job module.

New-SCDWSourceType To register a source with the Data Warehouse, the Datasource Type
first has to be registered with the Data Warehouse. This cmdlet helps
to register a new Datasource Type by importing the suitable
management pack and doing the appropriate configuration changes.

Register-SCDWSource Registers instances of data source types, such as Service Manager,


Operations Manager, and Configuration Manager, to the data
warehouse.

Set-SCDWJobSchedule Sets the schedule for a Data Warehouse job.

Set- Sets the data retention period in minutes for either a specific fact table
SCDWRetentionPeriod within a specific data warehouse database or sets the default for fact
tables within the database.

Set-SCDWSource Updates the definition of classes and relationships that can be


populated for an instance of a data source.

Set-SCDWWatermark - Sets the watermark from which subsequent data processing should
continue.

Start-SCDWJob Starts a Data Warehouse job.

Unregister-
SCDWManagememtPack

Unregister-SCDWSource Unregisters a data source from the data warehouse.


Next steps
To perform maintenance tasks on data warehouse jobs, see Manage the data
warehouse.
Manage the Service Manager data
warehouse
Article • 03/16/2023

In order to manage the data warehouse, which is primarily used by reporting, you must
perform maintenance tasks on data warehouse jobs. For example, you can view their
status, pause and resume, set a schedule, enable and disable schedules, and
troubleshoot data warehouse jobs. You can perform all of these maintenance tasks by
using Windows PowerShell cmdlets. In addition, you can perform some of these tasks
through the Service Manager console.

During deployment, you registered the Service Manager management group as


discussed in Register Service Manager Management Group in the Service Manager
Deployment Guide. As a result of that action, management pack deployment started
and MPSyncJob started. You shouldn't start or resume any data warehouse jobs until
MPSyncJob has finished, as shown in the Data Warehouse Jobs pane in the Service
Manager console.

There are seven data warehouse jobs that run at various times to maintain the data
warehouse, as listed in the following table.

Data Description
warehouse job

MPSyncJob This job synchronizes all the management packs from the Service Manager
source. These management packs define the content of the data warehouse.
This job starts to run as soon as you register the Service Manager
management group, and it takes several hours to complete on its initial run.

DWMaintenance This job performs data warehouse maintenance, such as indexing and
updating statistics. This job will run automatically after the MPSyncJob has
finished.

Entity (or Grooming functions typically involve activities on the data warehouse that
Grooming) remove data based on a configurable time period. Note: For this release of
Service Manager, grooming functions are handled as a workflow. Settings for
this job aren't configurable.

Extract This job retrieves data from the Service Manager database. This job queries the
Service Manager database for the delta data from its last run and writes this
new data into the DWStagingAndConfig database in the data warehouse.
There are two extract jobs in Service Manager: one for the Service Manager
management group and the other for the data warehouse management
group.
Data Description
warehouse job

Transform This job takes the raw data from the staging area and does any cleansing,
reformatting, and aggregation that is required to get it into the final format for
reporting. This transformed data is written into the DWRepository database.

Load This job queries the data from the DWRepository database and inserts it into
the DWDatamart database. The DWDatamart is the database that is used for
all end user reporting needs.

Job schedule and frequency


The schedule for a job defines when a job starts. Frequency refers to how often the job
runs after it has started. Regardless of schedule and frequency, a job doesn't run unless
the schedule for that job has been enabled. Except for the Entity (Grooming) job, each
job has a default scheduled start time, which is midnight. The following table lists the
scheduled start time, frequency, and default schedule setting.

Data warehouse job Scheduled start time Frequency Enabled by default?

MPSyncJob Midnight Every hour Yes

DWMaintenance Midnight Every hour Yes

Extract Midnight Every 5 minutes Yes

Transform Midnight Every 30 minutes Yes

Load Midnight Every hour Yes

In this release of Service Manager, grooming functions are handled as a workflow.


Settings for this job aren't configurable.

PowerShell cmdlets
The Service Manager Windows PowerShell module contains cmdlets that are used in this
scenario to manage data warehouse functions on the server that hosts the data
warehouse. You must run all Windows PowerShell cmdlets as an administrator. To view
the Windows PowerShell Help, type the get-help command, followed by the name of
the cmdlet for which you want help. For example, type get-help Set-SCDWJobSchedule .
The following cmdlets are used in this scenario:

Get-SCDWJobSchedule Displays the schedule for a data warehouse job.


Get-SCDWJob Displays status for all recurring Service Manager data warehouse
jobs.

Get-SCDWMgmtGroup Shows details for a management group that is registered


with the data warehouse.

Remove-SCDWMgmtGroup Removes a management group from the data


warehouse.

Set-SCDWJobSchedule Sets the schedule for data warehouse jobs.

Enable-SCDWJobSchedule Enables a data warehouse job schedule.

Disable-SCDWJobSchedule Disables a data warehouse job schedule. Job


schedules are disabled by default.

Get started with data warehouse jobs


When you register with the Service Manager data warehouse, the MPSyncJob starts
running. This job can take several hours to complete its initial run. When this job is
complete, you can see two extract jobs listed in the Data Warehouse Jobs pane. One
extract job is listed as Extract_data warehouse management group name, and the other
extract job is listed as Extract_Service Manager management group name. When both
of these extract jobs appear, you know that the initial run of the MPSyncJob is complete
and that you can now proceed with the subsequent maintenance tasks.

Data warehouse module deployment


Data warehouse module deployment in Service Manager starts when a Service Manager
management server is registered to a data warehouse management server. The
following sections describe module parts, functions, and schedule.

Management pack synchronization


Management pack synchronization is the process by which the data warehouse
discovers what classes and relationships exist in source systems. This process is also
referred to as MPSync. For every management pack that defines a class or relationship,
the data warehouse creates extract job modules to retrieve the data for that class or
relationship from the corresponding source. Such management packs and their
associated jobs are synchronized between the systems.
Only sealed management packs, and their corresponding data, are synchronized into
the data warehouse. If you alter a management pack, you must increase the version
number and you can't introduce any changes that might cause errors; otherwise, the
management pack will fail to import. For example, you can't remove classes, remove
properties, or remove relationships. Similarly, you can't change data types in
unsupported ways. For example, you can't modify a string property to become a
numeric property.

By default, the MPSync Orchestration job runs every 30 minutes.

It's possible that multiple sources may refer to the same management pack. The version
in the source system must be the same or higher version than that in the data
warehouse, otherwise registration will fail.

It's possible to remove management packs from the data warehouse. However, keep the
following points in mind:

1. Removing management packs doesn't delete the data from the data warehouse as
it does in the Service Manager database; instead, the database view that users are
granted access to is dropped.

2. If you reimport a management pack after you've removed the corresponding


management pack, the historical data is exposed once again.

7 Note

Only sealed management packs are synchronized from Service Manager to


the data warehouse. An exception to this is list items, also known as
enumerations. Groups or queues are synchronized to the data warehouse,
regardless of whether they're in a sealed or unsealed management pack.

Management packs that are imported from Service Manager are Service Manager-
specific and data warehouse specific. The Service Manager management packs provide
awareness of what the Service Manager database is structured like, and the data
warehouse management packs drive the structure and processes of the data warehouse
databases.

Report deployment
The management pack synchronization process imports management packs from
Service Manager, and it defines how those management packs shape the structure,
move the data, and copy reports for the data warehouse and reporting. After those
management packs are synchronized between Service Manager and the data
warehouse, the data is retrieved and reports are deployed for user consumption.

Sequentially, report deployment occurs in the following process:

1. After all identified management packs are synchronized with data warehouse,
management pack synchronization triggers the report deployment workflow.
2. Because the DWStagingandConfig database is the final destination of the
management packs that have been synchronized, the deployment workflow
queries the DWStagingandConfig database for any new or changed reports to
deploy or any reports to remove.
3. The deployment workflow then publishes any new or updated reports to the SQL
Server Reporting Services (SSRS) server through the SSRS web services.
4. SSRS stores the reports and appropriate metadata.
5. Schema deployment workflow is triggered by management pack synchronization.
6. Once again, information that causes schema changes is retrieved from the
DWStagingandConfig database based on the newly synchronized management
packs that are causing the changes.
7. Schema changes are deployed to the DWRepository database.
8. Any necessary changes to extract, transform, and load (ETL) modules are made to
the DWStagingandConfig database.

Management packs that contain only Service Manager-specific information don't cause
the deployment activities to execute. They're only be triggered for new data warehouse
and reporting-specific elements.

Understand the ETL processes


After the data warehouse schema and reports are deployed, the DWDataMart database
is populated with actual data for reporting purposes. This is done by the ETL processes.
These three processes each serve their own specific purpose:

Extract is designed specifically for processing large volumes of data from multiple
sources, and it allows for moving data into an area that is built for manipulating
the data.
Transform is designed for optimization of complex logic and integration
operations. This process is where most of the ETL work occurs.
Load is designed for transferring the data that has already been processed into its
target destination in a bulk manner.

One of the main reasons for having three different databases is so that you can optimize
your hardware environment more easily. In high-volume environments, the
DWStagingandConfig and DWRepository databases must be on computer hardware that
is optimized for read/write I/O. However, the computer hardware hosting the
DWDatamart database must be optimized for read I/O. With that difference in mind, you
can separate the DWDatamart to a different server or drive from the
DWStagingandConfig and DWRepository databases. However, the DWStagingandConfig
and DWRepository databases must remain on the same server.

At a high level, ETL occurs in the processes described in the following sections. If you
plan on authoring management packs that are used for custom reporting, you will
probably need to know more about these processes in depth.

Extract

The extract process starts on a scheduled interval. Extract is the process that retrieves
raw data from your online transaction processing system (OLTP) store, which in this case
is the Service Manager database.

1. The extract process queries Service Manager for the delta data that has
accumulated since the last time the extract process ran.
2. The new data is written into the DWStagingandConfig database in the same basic
form as it's in the Service Manager database.

Transform
The transform process starts on a scheduled interval. Transform is the process that
moves the raw data from the DWStagingandConfig database. It also does any cleansing,
reformatting, and aggregation that is required to alter the raw data into the final format
for reporting. This transformed data is written into the DWRepository database.

Load
The load process starts on a scheduled interval. The load process queries for the data
from the DWRepository database. The transformed data from DWRepository is inserted
into the DWDatamart database. The DWDatamart is the database that is used for all
end-user reporting needs.

Service Manager data warehouse retention


By default, data is stored in the data warehouse for three years for fact tables and for an
unlimited period for dimension and outrigger tables. However, you can modify the
retention period if you want to retain data longer or groom it out more aggressively.
Fact table retention settings
There are two types of retention settings in the data warehouse:

Global: The global retention period for all fact tables in the database is set to three
years by default, which any subsequently created fact tables use as their default
retention setting.
Individual Fact: The granular retention period for each individual fact table, uses
the global setting of three years, unless you modify them individually.

Global: The default global retention period for data stored in the Service Manager data
warehouse is three years, so all fact tables use three years as the default retention
setting. Any subsequently-created fact tables use this setting when created for their
individual retention setting.

Individual Fact Tables: Individual fact tables inherit the global retention value when
created, or you can customize them to a value that differs from the default global
setting. You can configure the default individual fact tables that were created during
installation, individually with a specific retention value as needed.

To view the retention period for default tables or specific tables

Use the Get-SCDWRetentionPeriod PowerShell cmdlet to get the retention period


for either a specific fact table within a specific data warehouse database or the
default for fact tables within the database. For detailed descriptions of available
parameters and example usage, see Get-SCDWRetentionPeriod.

To set the retention period for default tables or specific tables


Use the Set-SCDWRetentionPeriod PowerShell cmdlet to set the retention period
for either a specific fact table within a specific data warehouse database or the
default for fact tables within the database. For detailed descriptions of available
parameters and example usage, see Set-SCDWRetentionPeriod.

Reimport previously removed management


packs
During development and testing of management packs that contain reports that access
data warehouse information, you might need to remove the management packs and
then reimport them later. However, after a management pack is uninstalled from the
data warehouse, if the new management pack contains the same dimension, fact, or
cube name with a schema that is different from the original, you must delete the
dimension or fact table from the DWRepository and DWDataMart databases manually
and also delete any referencing cube from the SQL Server Analysis Services (SSAS)
database.

In addition, if a dimension or fact is already referenced by an existing data cube, you


must also delete the management pack that contains the data cube and the data cube
itself before uninstalling the new management pack. Because Service Manager doesn't
remove the dimension or fact table from the DataSourceView and because dimensions
aren't removed from SSAS database, you must manually delete information that a data
cube references. In this situation, you should use SQL Server Management Studio to
remove any custom data cube that you created with the management pack from the
DWASDatabase before you reregister or reinstall an updated management pack.

In general, you should avoid having the same dimension, fact, and cube name in
differing schemas. Service Manager doesn't support this condition.

Enable or disable data warehouse job


schedules
Use the following procedure to enable the schedule for the ETL jobs as needed; you can
use this procedure to enable the schedule for any of the data warehouse jobs. By
default, the schedules for the extract, transform, and load (ETL) jobs are enabled. In this
release of Service Manager, you can enable the schedules only by using Windows
PowerShell.

To enable a schedule for a data warehouse job by using a


Windows PowerShell cmdlet
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. At the Windows PowerShell prompt, enter the following commands, and then
press ENTER after each command:

Enable-SCDWJobSchedule -JobName Extract_<data warehouse management


group name>
Enable-SCDWJobSchedule -JobName Extract_<Service Manager management
group name>

Enable-SCDWJobSchedule -JobName Transform.Common

Enable-SCDWJobSchedule -JobName Load.Common

3. Enter exit, and then press ENTER.

You can use the following procedure to disable the schedule for the extract, transform,
and load (ETL) jobs; however, you can use this procedure to disable the schedule for any
data warehouse job. In this release of Service Manager, you can disable the schedules
only by using Windows PowerShell cmdlets.

To disable a schedule for a data warehouse job by using


Windows PowerShell cmdlets
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. At the Windows PowerShell prompt, enter the following commands, and press
ENTER after each command:

Disable-SCDWJobSchedule -JobName Extract_<data warehouse management


group name>

Disable-SCDWJobSchedule -JobName Extract_<Service Manager management


group name>

Disable-SCDWJobSchedule -JobName Transform.Common


Disable-SCDWJobSchedule -JobName Load.Common

3. Enter exit, and then press ENTER.

Stop and start a data warehouse job


You can stop and start data warehouse jobs that are running in Service Manager. For
example, you might have to stop all of the data warehouse jobs that are running to
ensure that a security update to the data warehouse management server doesn't
interfere with any jobs that might run. After the server has been updated and restarted,
you resume all the data warehouse jobs. You can stop and then start jobs by using the
Service Manager console or by using Windows PowerShell cmdlets. In this example, only
the extract, transform, and load (ETL) jobs are running.

7 Note

For information about using the Service Manager Windows PowerShell cmdlets, see
Configuring and Using the Service Manager Cmdlets for Windows PowerShell.

To stop and start data warehouse jobs using the Service


Manager console
1. In the Service Manager console, select Data Warehouse.
2. Expand Data Warehouse, and select Data Warehouse Jobs.
3. In the Data Warehouse Jobs pane, select a job that is running, and select Suspend
in the Tasks list.
4. Repeat the previous step for each data warehouse job.
5. To resume each job, select a job that is stopped in the Data Warehouse Jobs pane,
and select Resume in the Tasks list.

To stop all data warehouse jobs using Windows


PowerShell cmdlets
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.
2. At the Windows PowerShell prompt, enter the following commands, and then
press ENTER after each command:

Stop-SCDWJob-JobName Extract_<data warehouse management group name>

Stop-SCDWJob -JobName Extract_<Service Manager management group name>

Stop-SCDWJob -JobName Transform.Common

Stop-SCDWJob -JobName Load.Common

3. Type exit, and then press ENTER.

To start all data warehouse jobs using Windows


PowerShell cmdlets
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. At the Windows PowerShell prompt, enter the following commands, and then
press ENTER after each command:

Start-SCDWJob -JobName Extract_<data warehouse management group name>

Start-SCDWJob -JobName Extract_<Service Manager management group name>

Start-SCDWJob -JobName Transform.Common


Start-SCDWJob -JobName Load.Common

3. Enter exit, and then press ENTER.

Schedule a data warehouse job in Service


Manager
You can use the following procedure to schedule a data warehouse job in Service
Manager.

You could use this procedure in a scenario where a schedule for the data warehouse
jobs has been defined in Service Manager. You want to change the schedule for the data
warehouse jobs to define standard maintenance windows for the Service Manager
database and for the data warehouse. Use the Set-SCDWJobSchedule cmdlet to
schedule the data warehouse jobs. The Set-SCDWJobSchedule -ScheduleType Weekly
cmdlet and parameter combination allows jobs to run only on the days you specify. For
example, the following commands define a daily or weekly schedule:

Set-SCDWJobSchedule -JobName Transform.Common -ScheduleType Daily -


DailyFrequency 01:00:00 -DailyStart 06:00

Set-SCDWJobSchedule -JobName Transform.Common -ScheduleType Weekly -


WeeklyFrequency Tuesday, Thursday -WeeklyStart 06:00

7 Note

To run Windows PowerShell cmdlets, the execution policy must be set to


RemoteSigned.

In the following procedure, you configure a schedule for the Transform job to run every
45 minutes, starting at 2:00 in the morning. However, you can modify the commands to
set your own schedule.
To configure a schedule for data warehouse jobs
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. At the Windows PowerShell prompt, type the following command, and then press
ENTER.

Set-SCDWJobSchedule -JobName Transform.Common -ScheduleType Daily -


DailyFrequency 00:45:00 -DailyStart 02:00

To validate a data warehouse job schedule


1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. Enter the following command, and then press ENTER:

Get-SCDWJobSchedule

Process all dimensions in the data warehouse


You can process all the dimensions in the data warehouse in one operation using
Windows PowerShell cmdlets, instead of processing each dimension individually. On the
server that hosts SQL Server Analysis Services (SSAS), use the following Windows
PowerShell script. Ensure to specify the fully qualified server name. You can enter each
command separately, or you can save them all as a Windows PowerShell script (.ps1) file
and then run the script.

Before you can use Service Manager cmdlets, you need to configure the Service
Manager Shell. For information about configuring the Service Manager Shell, see
Configuring and Using the System Center - Service Manager Cmdlets for Windows
PowerShell.

To process all dimensions using cmdlets


Copy and paste the following code snippets at the prompt in a Service Manager
Shell:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices") > $NULL

$Server = New-Object Microsoft.AnalysisServices.Server


$Server.Connect("<FullyQualifiedServerName>")
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]
$Dimensions = New-Object Microsoft.AnalysisServices.Dimension
$Dimensions = $DWASDB.Dimensions

foreach ($Dimension in $Dimensions){$Dimension.Process("ProcessFull")}

View data warehouse job history


A history of data warehouse jobs is collected as they run in Service Manager. You can
view this history to determine how long a job ran or to determine the last time the job
ran successfully. When you display the data warehouse job history, you display the
number of entries that you specify by using the NumberOfBatches parameter. Use the
following procedure to view the last five entries in the history of a data warehouse job.

To view the last five entries in the data warehouse job


history
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. Enter the following command, and then press ENTER.

Get-SCDWJob -NumberOfBatches 5
3. Enter exit, and then press ENTER.

View the status of a data warehouse job


You can use the following procedures to view the status of a data warehouse job in
Service Manager to determine whether a job is running, stopped, or failed.

To view the status of a data warehouse job by using the


Service Manager console
1. In the Service Manager console, select Data Warehouse.
2. In the Data Warehouse pane, expand Data Warehouse, and select Data
Warehouse Jobs.
3. In the Data Warehouse Jobs pane, review the list of jobs to view their status.

To view the status of a data warehouse job by using a


Windows PowerShell cmdlet
1. On the computer that hosts the data warehouse management server, select Start,
point to All Programs, select Microsoft System Center, select Service Manager,
and select Service Manager Shell.

2. Enter the following command, and then press ENTER.

PowerShell

Get-SCDWJob

3. Review the list of jobs to view their status.

Troubleshoot a data warehouse job in Service


Manager
In Service Manager, you may encounter problems related to data warehouse jobs. After
the Data Warehouse Registration Wizard completes and after Reporting becomes
available in the Service Manager console, you can start running reports. If, for example,
the incident management report you run doesn't show updated data, you can use
Windows PowerShell cmdlets to troubleshoot the problem.
You can use the first procedure to determine whether a job failed using Windows
PowerShell cmdlets, and you can evaluate any error messages that this job created.

The second procedure can be used to change the default transform job timeout period.
If you see that the data warehouse transform job doesn't complete successfully, then
this may be due to the default 3-hour timeout period for the job being surpassed. This
can happen because a large volume of data is transformed in the data warehouse. To
confirm that this is actually happening, you can view the Event Viewer in the Data
Warehouse where messages similar to: Timeout expired. The timeout period elapsed
prior to completion of the operation or the server is not responding. can be seen for a
module. As an example, you might see the message above for the
TransformEntityRelatesToEntityFact module. To resolve the problem in this case, you can
set the timeout period to be longer than the default value of 10800 seconds.

To troubleshoot data warehouse jobs by using Windows


PowerShell cmdlets
1. On the computer that hosts the data warehouse management server, start
Windows PowerShell.

2. Enter the following command, and then press ENTER.

Get-SCDWJob

3. Review the output, and locate any job with Failed status.

4. Enter the following command, and then press ENTER. In the command, specify the
data warehouse job that failed as the value of the JobName parameter.

Get-SCDWJobModule -JobName Transform.Common

5. In the output, locate a status of "Failed," and then review the Error Message
column for more information about why the data warehouse job failed.

6. When you're ready to retry the failed job, in the Service Manager console, select
Data Warehouse.

7. Expand Data Warehouse, and select Data Warehouse Jobs.


8. In the Data Warehouse Jobs pane, select the failed job in the list, and select
Resume in the Tasks list.

To override the default timeout period


1. Edit the registry on the data warehouse management server and ensure that the
key name SqlCommandTimeout under SOFTWARE\Microsoft\System
Center\Common\DAL exists and is of type DWORD. If it doesn't exist, create it.

2. Edit the value, which is in seconds, with a positive value.


3. Restart the Microsoft Monitoring Agent service.
4. You can resume the Transform.common job to see the change.

Next steps
To retrieve data from one or more data sources, see Register source systems to the
data warehouse.
Register source systems to the System
Center data warehouse in Service
Manager
Article • 03/16/2023

The data warehouse in Service Manager retrieves data from one or more data sources.
These data sources are the transactional processing systems that produce and govern
data that you will eventually want to measure and analyze. For example, incidents and
change requests are created and managed in Service Manager, software updates and
power policies are managed in Configuration Manager, and other systems produce and
govern other data sets.

Registering the data warehouse creates a relationship between the data warehouse
server and the source system so that information can flow between them. In Service
Manager, you can register to Service Manager, Operations Manager, and Configuration
Manager directly. You can also use the updated software development kit (SDK) layer on
top of the data warehouse, which enables you to push data into the data warehouse
directly from other sources. For example, you might want to push data from your
Human Resources computer system into the data warehouse.

Register the System Center data warehouse to


Operations Manager
You can use the following procedures in Service Manager to register the System Center
Data Warehouse to Operations Manager and then validate the registration.

To register the data warehouse to Operations Manager


1. Register System Center Data Warehouse to Service Manager Source.

2. Wait for the MPSync job to complete.

3. Using an account that is a member of the Service Manager and data warehouse
management administrators group, sign in to the computer that hosts the Service
Manager console.

4. In the Service Manager console, select Data Warehouse.


5. In the Administration pane, expand Data Warehouse, and then select Data
Sources.

6. In the Tasks list, select Register data source.

7. In the Register Data Source Wizard, on the Before You Begin page, select Next.

8. On the Data Source Type page, select Operations Manager.

9. Under Specify a Root Management Server area, enter the following information:

a. For Root Management server name, enter the server name.

b. For Operational database server, enter the database server name.

c. For Database name, enter the name of the database.

10. Select Next.

11. On the Credentials page, you can accept the default entry in the Run as account
list, and select Next, or you can enter credentials from a user or group of your
choice.

) Important

The account that you specify will be assigned administrative credentials on


the Service Manager management server and granted Read permission on the
Service Manager database. You can specify different credentials from other
Service Manager management groups when you're registering with the data
warehouse.

12. On the Summary page, you can review the settings that you've chosen. Select
Finish.

13. On the Result page, when Data source registration complete. appears, select
Finish.

To validate the Operations Manager registration process


In the Data Sources view, the new data source appears in the list of data sources,
with the data source type of Operations Manager. You might have to refresh your
view to see the new data source.
Register the System Center data warehouse to
Configuration Manager
You can use the following steps in Service Manager to register Configuration Manager
with the System Center Data Warehouse and then validate the registration.

To register Configuration Manager with the data


warehouse
1. By using an account that is a member of the Service Manager and data warehouse
management administrators group, sign in to the computer that hosts the Service
Manager console.

2. In the Service Manager console, select Data Warehouse.

3. In the Administration pane, expand Data Warehouse, and then select Data
Sources.

4. In the Tasks list, select Register data source.

5. In the Register Data Source Wizard, on the Before You Begin page, select Next.

6. On the Data Source Type page, select Configuration Manager.

7. Under Specify a Central Site Server, enter the following information:

a. For Central Site server name, enter the site server name.

b. For Database name, enter the name of the database.

8. Select Next.

9. On the Credentials page, you can accept the default entry in the Run as account
list, and select Next, or you can enter credentials from a user or group of your
choice.

) Important

The account that you specify will be assigned administrative credentials on


the Service Manager management server and granted Read permission on the
Service Manager database. You can specify different credentials from other
Service Manager management groups when you're registering with the data
warehouse.
10. On the Data Selection page, choose the domains to extract, and select Next. For
example, select System Center Configuration Manager Connector Configuration
and System Center Configuration Manager Power Management Connector.

11. On the Summary page, you can review the settings that you've chosen. Select
Finish.

12. On the Result page, when Data source registration complete appears, select
Finish.

To validate the Configuration Manager registration


process
In the Data Sources view, the new data source appears in the list of data sources,
with the data source type of Configuration Manager. You might have to refresh
your view to see the new data source.

Register the System Center data warehouse to


a Service Manager source
You can use the following procedures in Service Manager to register the System Center
Data Warehouse with a Service Manager management group and then validate the
registration. This makes it possible to host multiple Service Manager management
groups in a single data warehouse.

To register the data warehouse with another Service


Manager management group
1. By using an account that is a member of the Service Manager and data warehouse
management administrators group, sign in to the computer that hosts the Service
Manager console.

2. In the Service Manager console, select Data Warehouse.

3. In the Administration pane, expand Data Warehouse, and then select Data
Sources.

4. In the Tasks list, select Register data source.

5. In the Register Data Source Wizard, on the Before You Begin page, select Next.

6. On the Data Source Type page, select Service Manager.


7. Under Specify a Service Manager Server, enter the following information:
a. For Service Manager server name, enter the server name.

8. Select Next.

9. On the Credentials page, you can accept the default entry in the Run as account
list, and select Next, or you can enter credentials from a user or group of your
choice.

) Important

The account that you specify will be assigned administrative credentials on


the Service Manager management server and granted Read permission on the
Service Manager database. You can specify different credentials from other
Service Manager management groups when registering with the data
warehouse.

10. On the Summary page, you can review the settings that you've chosen. Select
Finish.

11. On the Result page, when Data source registration complete. appears, select
Finish.

To validate the Service Manager registration process


In the Data Sources view, the new data source appears in the list of data sources,
with the data source type of Service Manager. You might have to refresh your view
to see the new data source.

Manage data import jobs for Operations


Manager and Configuration Manager
You can use the following procedure to manage data warehouse data import jobs in
Service Manager. Data import jobs are like other data warehouse jobs, and you can
manage them with the Service Manager console and also with Windows PowerShell
cmdlets. Methods of management include:

Revising the processing schedule to hourly, daily, or weekly

Suspending a job

Resuming a suspended, or Not Started, job


To manage data import jobs and change a job schedule
1. In the Service Manager console, select Data Warehouse, expand Data Warehouse,
and select Data Warehouse Jobs.

2. In the Data Warehouse Jobs pane, select a job name, and then under Tasks, select
Properties.

3. In the job properties dialog that appears, you can view the current schedule. You
can change the schedule to one of your choice. For example, change the schedule
to Daily and run the job at 1:00 AM, and select OK.

4. You can optionally Suspend jobs, and you can Resume any that are suspended or
Not Started.

Troubleshoot System Center data warehouse


errors
This section describes steps you can take to troubleshoot System Center data
warehouse errors in Service Manager.

Use the Operations Manager event log on the Data


Warehouse server to troubleshoot errors
Service Manager event logs are found in the Operations Manager event log. Evaluating
events in the log is useful because most errors from the data warehouse are found in
this event log. Events in the log are from two different sources: Deployment and Data
Warehouse.

Events with a source of Deployment are generated during management pack


deployment, which includes report deployment or assembling the data warehouse; for
example, by creating outriggers, dimensions, and fact tables. Errors in the event log
include instructions about how to recover from the errors. For example, you might read
instructions suggesting that you stop and then restart the Service Manager services. The
three services on a data warehouse management server are:

System Center Data Access Service

Microsoft Monitoring Agent

System Center Management Configuration


When you start and stop Service Manager services, you must stop and start all three
services.

After the data warehouse is deployed, events are more likely to have a source of Data
Warehouse. These events are created by jobs within the normal course of operations
like extract, transform, and load (ETL) jobs; the MPSync job; and the DWMaintenance
job.

Use the Service Manager console to troubleshoot errors


In the Service Manager console, select Data Warehouse Jobs and you will see ETL job
and MPSync job status. If your deployment was successful and your data warehouse is
correctly registered to at least one Service Manager management group, you see at
least five jobs. Every job should have the status Running or Not Started.

If you see a job status listed as Failed, you can select the job, and then in the Tasks pane,
select Modules to find out which job module has failed. Then, you can examine the
Operations Manager event log on the data warehouse server to determine why the
module failed.

In the Data Warehouse workspace, you can select Management Packs in the left pane.
That is where you can view all the management packs in the data warehouse and the
status of their deployment. When you import a management pack to Service Manager,
the MPSync job synchronizes it to the data warehouse, where the MPSync job derives its
name from management pack synchronization. When you get the list of management
packs in the data warehouse, you can find out if your management pack has been
deployed successfully or not.

If your management pack has defined data warehouse-specific elements, such as


outriggers, dimensions, fact tables, or reports, that management pack must be
successfully deployed before the new tables and reports will be ready to use.

Use Windows PowerShell to troubleshoot errors


The Windows PowerShell cmdlets in the following table provide detailed information
about the data warehouse jobs.

Command Description

Get- This command tells you which sources are currently registered with the data
SCDWMgmtGroup warehouse. You should expect to see at least two different DataSourceName
values.
Command Description

Get-SCDWJob This command lists the data warehouse job status of the current batch.
Using the command, you can check whether the jobs are enabled or not,
which jobs are running, and when they started.

When the MPSync or DWMaintenance jobs start, they disable all of the ETL
jobs. You will see the Is Enabled column set to False for each of the ETL jobs.
This means that even if the ETL job status shows it's running, it actually isn't
running. When the MPSync or DWMaintenance job completes, the ETL jobs
are automatically enabled and resume processing.

Jobs normally have the Not Started status, unless the previous batch has
completed. If you prefer, you can use the Get-SCDWJob command to view
the last few batches of a specific job.

Get-SCDWJob - Use this command to see the latest job, specified by Specific job name,
JobName Specific completed, when it started, and when it ended. You can calculate how long it
job name - ran and what the next batch ID and status is. The job batch ID is always
NumberOfBatches incremental.
number

Get- This command provides detailed information about the specific modules
SCDWJobModule within the job. This is useful when you see job failures and you want to find
out what caused the failure.

Troubleshoot common data warehouse issues


This list isn't exhaustive, but it covers most of the common problems that you're likely to
encounter.

Reports are not deployed after registering the data warehouse

Symptoms

When you open the Service Manager console, a dialog appears indicating that the
Reporting Service is unavailable. Another symptom is that the Reporting workspace
button appears in the Service Manager console; however, there are no reports displayed
in the workspace. Another symptom is that no reports have been deployed to the
Reporting Services server.

Other aspects of the data warehouse deployment might appear to have gone smoothly.
For example, in the Service Manager console, when you select Data Warehouse, and
select Data Warehouse Jobs, you see two extract jobs, a transform and load job, and an
MPSync job.
Troubleshooting Steps

To troubleshoot this problem, complete the following steps.

Step 1: Check the deployment status of your management packs:

1. In the Service Manager console, select Data Warehouse.

2. Select Management Packs, and in the search Filter box, enter report. This filters
results to report-related management packs.

3. Check the deployment status (last column) of the following management packs.
None of the management packs should have a status of Failed.

ServiceManager.ActivityManagement.Report.Library

ServiceManager.ProblemManagement.Report.Library

ServiceManager.IncidentManagement.Report.Libraryxxx

ServiceManager.ConfigurationManagement.Report.Library

ServiceManager.ChangeManagement.Report.Library

Step 2: Check the event log for error messages that mention the assembly
Microsoft.EnterpriseManagement.Reporting.Code.dll file.

If any of the above five management packs failed deployment:

1. On the data warehouse management server, open the Operations Manager event
log.

2. Filter the events with Event Sources as Deployment and Event Level as Error.

3. If there are error messages in the event log that indicate cannot load Assembly
Microsoft.EnterpriseManagement.Reporting.Code.dll, review the following items:

a. Your installation of SQL Server Reporting Services (SSRS) may be on a different


server than the data warehouse management server.

b. If your SSRS installation is on the same server as the data warehouse


management server, restart the SSRS service.

4. Restart SSRS:

a. Sign in to the server where SSRS is installed.

b. Open Reporting Services Configuration Manager.


c. In the Reporting Services Configuration Connection window, select Connect.

d. In the Reporting Server Status window, select Stop, and select Start.

e. Select Exit.

Step 3: Redeploy any failed report management packs:

1. In the Service Manager console, select Data Warehouse.

2. Select Management Packs, and then in the search filter, enter report.

3. For each of the management packs listed in step 1, in the Tasks Pane, select
Restart Deployment.

7 Note

If the deployment status of a management pack is listed as Completed, the


Restart Deployment option is unavailable.

After the deployment status of the report management packs has updated from Failed
to Completed, open the Service Manager console. Reports should display in the
Reporting workspace. You may have to restart the Service Manager console to view the
reports because the console caches the list of reports.

Jobs fail after importing a custom management pack


Symptom

One or more data warehouse jobs start failing after importing a custom management
pack and synchronizing it to the data warehouse.

Troubleshooting Steps

To troubleshoot this problem, complete the following steps:

1. Check the event log to ensure that the root cause is the custom management pack:

a. On data warehouse management server, open the Operations Manager event


log.

b. Find the event that is related to the job failure.

c. Determine if the failure is related to the custom management pack you


imported.
2. If the failure is related to the custom management pack, you should remove it and
let the rest of the data warehouse operate as usual. You can fix the management
pack and reimport it later:

a. Uninstall the custom management pack using the Service Manager console.

b. Run the MP Sync job.

c. Verify that the custom management pack is listed in Data Warehouse under
Management Packs.

d. After the MP Sync job is completed, resume the failed job either from the
Service Manager console or with a Windows PowerShell cmdlet.

3. Fix and reimport the custom management pack:

a. Remove the custom management pack and recover from the failure using step
2, shown previously.

b. Fix the custom management pack.

c. Import the fixed custom management pack into Service Manager, and then run
the MP Sync job to sync it to the data warehouse.

Data warehouse is not receiving new data, or jobs seem to take too
long to complete

Symptom

You don't see data or new data in any of your reports. Another symptom is that ETL jobs
are taking too long to run and the jobs don't show a status of Not Started.

Troubleshooting Steps

To troubleshoot this problem, complete the following steps:

1. Use the Windows PowerShell cmdlet Get-SCDWJob to determine if all the ETL jobs
are enabled. Start Windows PowerShell, and then enter Get-SCDWJob.

2. If the ETL jobs are disabled and either the MPSyncJob or DWMaintenance jobs are
running, you will have to wait awhile to get the job status again because these two
background jobs disable the ETL jobs. However, if the two jobs are listed as Not
Started and the ETL jobs are disabled, you can use the Enable-SCDWJob cmdlet to
enable each of them, for example:
Enable-SCDWJob -JobName Transform.Common

3. If the MPSync and DWMaintenance ETL jobs are all enabled and running but their
individual batch ID hasn't changed for a long time, or if you use the Get-
SCDWJobModule cmdlet for specific jobs and you don't see that any module is
actually running, check the event log and see if there are any error messages.
Sometimes the error message might be many days old and you might need to
review many days-worth of events.

4. Check if the three services: System Center Data Access Service, Microsoft
Monitoring Agent, and System Center Management Configuration on the data
warehouse management server are actually running. On the data warehouse
management server, select Start, select Run, and then enter Services.msc. In
Services, verify that the following services are running: System Center Data Access
Service, Microsoft Monitoring Agent, and System Center Management
Configuration.

If any of the services aren't running, restart all three services. In addition, if all
services are actually running, events from the Event Source Data Warehouse and
OpsMgr SDK Service are sent to the Operations Manager event log. You can use
this information as another source to verify whether all the services are running. If
you don't see events from the Event Source Data Warehouse and OpsMgr SDK
Service for a long time, you should restart all three services.

Custom data warehouse extensions do not appear in the data


warehouse
Symptom

After importing your management pack, which defines some dimensions or fact tables
to Service Manager, the MPSync job has run several times, but you still don't see your
dimension or fact tables in the DataMart.

Troubleshooting Steps

Ensure that your management pack is sealed. The MPSync Job can import only sealed
management packs from Service Manager into the data warehouse. If you haven't
sealed your management pack, seal it, and then import it using the Service Manager.

Ensure that your management pack is synced to the data warehouse by completing the
following steps:
1. Open the Service Manager console.

2. Select Data Warehouse.

3. Select Management Packs, and then locate your management pack in the list of
management packs. To do this, use the search feature by entering your
management pack name in the search box. If you don't see your management
pack:

a. It might have failed to import into the data warehouse management server. Go
to the data warehouse management server, open the Operations Manager
event log and then filter the events with Event Sources as OpsMgr SDK Service.

b. The MPSync job may not have run yet. It runs on a recurring schedule, which is,
by default, once every hour. You can modify the schedule with Windows
PowerShell. To speed up management pack synchronization, after you import
your management pack you can manually resume the MPSync job, either from
the Service Manager console or by using Windows PowerShell.

Check the deployment status of your management pack:

1. Open the Service Manager console.

2. Select Data Warehouse.

3. Select Management Packs, and then find your management pack in the list of
management packs. To do this, you can search for your management pack name.

4. Check the deployment status of your management pack. If the deployment status
is Failed:

a. On the data warehouse management server, open the Operations Manager


event log, and then filter the events with Event Sources as Deployment.

b. If there's an error message, the message usually indicates what went wrong. If
after you make any needed fixes to the management pack and the error still
occurs, you can uninstall this management pack using the Service Manager
console. After the MPSync job runs, the management pack is uninstalled from
data warehouse management server.

Management packs are stuck in Pending Association status after


registering to the data warehouse

Symptom
Some management packs remain in Pending Association status several hours after
registering Service Manager with the data warehouse and several (up to four or more)
hours have passed. You can determine the time elapsed by opening the Service
Manager console and navigating to Data Warehouse, Data Warehouse Jobs, MPSync
Job, and then selecting Details from the Tasks pane.

Troubleshooting Steps

To troubleshoot this problem, complete the following steps:

1. View the Details of the MPSync job. Review each batch ID for the problem
management pack in the MPSyncJob dialog. In the MP Sync Job dialog, select the
Management Pack column name to sort the list according to the management
pack name. Find any management packs with Pending Association status. In the
list of management packs, check to see if, in the later batch, the management pack
status is listed as Associated, for example:

For Batch ID 136, Management Pack


Microsoft.SystemCenter.ConfigurationManager is Pending Association.

For Batch ID 207, Management Pack


Microsoft.SystemCenter.ConfigurationManager is Associated.

This indicates the management pack is associated properly in batch 207, even
though it ran into an error in batch 136. Because it recovered in batch 207, the
management pack is correctly associated and the synchronization completed
successfully.

2. If in the MP Sync Job dialog, the Pending Association status for a management
pack repeats for every batch, you will have to troubleshoot further to determine
the reason why the management pack fails to associate. You should start by
looking for deployment failures in other management packs that your
management pack depends on.

In the Service Manager console, select Data Warehouse, select Management


Packs, and select the Deployment Status column heading. If you see any
management pack with a deployment status of Failed or Not Started, this is
usually due to a management pack dependency. Because management packs can
depend on others, any failure can cause other management packs to fail
deployment. Any impacted management pack has the Not Started status.

3. Find the deployment failures in the event log. Open the Operations Manager Event
log on the data warehouse, filter the event log to the events where the Event
Source is Deployment and Event Level is Warning or Error.
4. If there is an error message similar to the following message, you will have to
unregister the data warehouse from Service Manager, reinstall the data warehouse,
and then re-register the Service Manager management server to the data
warehouse management server:

Deployment Execution Infrastructure has retried the maximum number of


times and is giving up on this execution step.
MP Element ID:
DerivedManagementPack.SystemDerivedMp.ServiceManager.ActivityManagement
.Library.Datawarehouse
MP name: ServiceManager.ActivityManagement.Library.Datawarehouse
MP version: 7.0.5826.0
Operation: Install
Error message: Cannot find resource with ID
TransformActivityStatusResource

ETL jobs fail due to login credentials problems

Symptom

Some or all ETL jobs have failed. The Operations Manager event log on the data
warehouse management server indicates that the ETL job failure is related to a login
user failure.

Troubleshooting Steps

To troubleshoot this problem, check if the password for each Run As account has
changed or expired. You can update the account using the following steps:

1. Navigate to Data Warehouse, Security, Run As Accounts, and select the related
run as account. Select Properties in the Tasks pane, update the Password field in
the window, and select OK.

2. If this Run As account is an Operational System Account, you also have to update
the services that are running under the account:

a. On the data warehouse management server, select Start, select Run, and then
enter Services.msc.

b. In Services, update the passwords for the services that run under the account,
for example, System Center Data Access Service and System Center
Management Configuration.

c. Restart the services.


7 Note

The MP Sync job and Extract jobs can use a different Run As account other
than Operational System Account. This Run As account is created when
Service Manager is registered to a data warehouse.

It's easy to update the password if it's expired. However, it's more difficult to update the
system if you change the Run As account. We don't recommend that you modify Run As
accounts.

If the job failure isn't related to the password, ensure that the Run As account for the
failed job can be used to connect to the target database. For example, ensure that the
Extract job Run As account can be used to connect to the Service Manager database. If
not, ensure that the Structured Query Language (SQL) service that is hosting the
database is running.

Next steps
Troubleshoot computer problems with tasks.
Troubleshoot computer problems with
Service Manager tasks
Article • 03/16/2023

If you want to view the logs on a remote computer that is exhibiting problems, you must
first create a task that opens Event Viewer. Event Viewer reads logs from remote
computers.

In Service Manager, administrators can create and use tasks to automate and simplify
lengthy, complex, or repetitive processes. Operators typically use tasks to help
troubleshoot user incidents. After creating a task, operators can run the task directly
from the Service Manager console.

) Important

To create a task, the logged-on user must have administrative credentials.

The Event Viewer task that you create will display logs from the computer that is
identified as a configuration item in the incident. The help desk analyst can then select
an incident in the Service Manager console and run this task for the computers that are
related to the incident.

Create a task
Use the following procedures in Service Manager to create a task—for example, a task
that you can use to open Event Viewer and view logs on a computer—and then validate
the new task. Event Viewer displays the logs from the remote computer that is listed as a
Configuration Item in the incident.

To create a task
1. In the Service Manager console, select Library.

2. On the Library pane, expand Library, and select Tasks.

3. On the Tasks pane, select Create Task.

4. On the Before You Begin page, select Next.

5. On the General page, do the following:


a. In the Task name box, enter a name for the task. For example, enter Event
Viewer.

7 Note

In this release, if you edit and change any of the properties of a task, you've
to close and reopen the console before you can view the task.

b. Next to the Target class area, select the ellipsis button (...).

c. In the Choose Class dialog, in the Class list, select Incident, and select OK.

d. In the Management pack list, ensure that Service Manager Incident


Management Configuration Library is selected, and select Next.

7 Note

In this release, if you select the option to create a new management pack,
you've to close and reopen the console before you can view this task.

6. On the Display Task by Category page, select the category where the task will be
displayed. For example, select Incident Management Folder Tasks, and select
Next.

7. On the Command Line page, do the following:

a. In the Full path to command box, enter the full path of the command you want
to run with this task. For example, enter %windir%\system32\eventvwr.exe.

b. In the Parameters area, select Insert Property.

c. In the Select Property dialog, in the Related classes list, expand Incident, and
select Is Related to Configuration Item.

d. In the Available Properties box, enter Computer Name.

e. Under Windows Computer, select NetBIOS Computer Name, and select Add.

f. Optionally, select Log in action log when this task is run to add information to
the incident action log when the task runs, and select Next.

8. On the Summary page, select Create.


9. On the Completion page, observe that The new task was created successfully
appears, and select Close.

To validate a new task


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Work Items, expand Incident Management, and
select All Incidents.

3. In the All Incidents pane, select an incident for which a computer name has been
entered as a configuration item.

4. In the Tasks pane, under the name of the incident you selected in the previous
step, select Event Viewer.

5. Notice that Event Viewer starts, and the events from the computer that are
associated with the incident are displayed.

You can use the Get-SCSMTask Windows PowerShell command to view Service
Manager tasks.

Run a task from an incident view


Use the following procedure to run a task, such as the Ping task, from an Incident view
in Service Manager.

To run a task from an Incident view


1. In the Service Manager console, select Work Items, and then select any Incident
Management view. Select an incident in the view, and notice that in the Tasks
pane, under Incident Name, the Ping Related Computer task appears.

2. In the Tasks pane, select the task to run it. For example, Ping Related Computer. If
a computer isn't associated with the incident, you must specify the name of the
computer to run the task on. If more than one computer is associated with an
incident, choose one computer to run the task on.

3. If the task logs actions into the action log, you can open the incident and view the
action log to see the output that the task generated.

4. If the Console Task Output - Task Name box appears, verify the output generated
by the task, and select Close.
Next steps
Configure your preference for sharing diagnostic and usage data.
Configure your preference for sharing
Service Manager diagnostic and usage
data
Article • 03/16/2023

During setup in Service Manager, on the Diagnostic and usage data page, for sharing
your Service Manager diagnostic and usage data with Microsoft. This feature is on by
default. Administrators can turn off this feature anytime by using the choice options in
Service Manager Console and Self Service Portal’s Web.config file (may also require
service restart)

Configure your preference for sharing data


from the Service Manager console
1. In the Service Manager console, in the toolbar, select Help.

2. In the Help menu, select Send diagnostic and usage data to Microsoft

3. Select your diagnostic and usage data sharing preference from the dialog and
select Ok.

Configure your preference for sharing data


from the Service Manager management server
or data warehouse management server
1. Use the Service Manager console installed on same machine as Service Manager
Management Server or Data Warehouse Management Server (and connect the
console to same server), depending on where you want to configure the
preference for sharing Service Manager diagnostic and usage data.

2. In the Service Manager console, in the toolbar, select Help.

3. In the Help menu, select Send diagnostic and usage data to Microsoft

4. Select your diagnostic and usage data sharing preference from the dialog and
select Ok.

5. In the Run dialog, in the Open text field, enter services.msc, and select Ok.
6. In the Services window, in the Services (Local) pane, locate the System Center
Data Access Service, and select Restart.

Configure your preference for sharing data


from the Self Service portal
1. Sign in as an administrator on the IIS server, which is hosting the Service
Manager Self Service Portal website.

2. Open the Web.config file in the directory where Service Manager Self Service
Portal is installed.

3. In Web.config file, find the key named EnableTelemetry under the XML tag
appSettings.

4. Configure the value of EnableTelemetry key depending on your preference to


share Service Manager diagnostic and usage data for Service Manager Self Service
Portal. The value set as true for this key enables the sharing of diagnostic and
usage data with Microsoft, and setting the value of EnableTelemetry key as false,
disables the sharing of diagnostic and usage data with Microsoft.

5. Save and Close the Web.config file.

6. Restart the IIS service after you make any changes to the Web.config file.
Search for information in Service
Manager
Article • 08/22/2023

In Service Manager, you can use the search feature in the Service Manager console to
look for information. The search box is in the upper-right corner of the Service Manager
console. By default, the search feature looks for all objects. The results can include
incidents, change requests, problems, and configuration items of Windows-based
computers. You can filter search results by using the filter bar. You can also perform an
advanced search for these items plus the following items:

Knowledge articles

Domain users

Manual activities

However, only knowledge articles are returned when you perform a knowledge search.

When you search for most items in Service Manager, only exact keyword matches return
results. However, partial matches are returned for configuration items of Windows-
based computers. Searches that use wildcard characters aren't supported.

When you search for items, you open a view that displays a large number of items, and
there are more than 5,000 items in the results, the complete results can take a few
minutes to appear.

Next steps
Read the overview about how to Manage incidents and problems in Service
Manager.
Manage incidents and problems in
Service Manager
Article • 03/16/2023

Service Manager helps your organization manage incidents and problems by


implementing and automating help desk ticketing processes so that these processes
comply with the best practices that are described in the Microsoft Operations
Framework (MOF) and in the Information Technology Infrastructure Library (ITIL). For
more information about MOF 4.0, see Microsoft Operations Framework.

If you need to add or extend the functionality of Service Manager to implement custom
processes for handling incidents and problems, you can use standard Microsoft
development tools and the Service Manager SDK.

The procedures in this section are organized according to common problem and
incident management scenarios. Even though the sample scenarios refer to a fictitious
organization, Woodgrove Bank, the scenarios and steps are based on real use and they
describe how to use the problem and incident management features in Service
Manager.

At first, the difference between affected items and related items in problem and incident
forms might not be obvious. However, the difference describes different relationships.
An affected item is something that is directly affected by the problem or incident; for
example, your computer. But a related item is something more loosely related but not
directly affected. For example, a related item could be any other configuration item that
isn't directly affected but connected to another configuration item as a reference.

Sample scenarios to manage incidents and


problems in Service Manager
The following sample scenarios for Service Manager help you achieve your goal of
managing incidents and problems by using multiple scenarios end to end. You can think
of these sample scenarios as a case study that helps put the individual scenarios and
procedures in context.

Manage incidents
In the scenario that encompasses incident management, Phil uses incident management
to restore regular operations as quickly and as cost-effectively as possible. For example,
by using the E-mail Incident template to populate a new email-related incident, he can
quickly create an incident and ensure that the correct Impact, Urgency, Assigned
Analyst, and Support Tier fields are configured. Carrying the example further, he creates
a new incident for a user who is unable to view an email that was sent with restricted
permissions. Phil creates an incident view so that he can easily work with all the
incidents that are created for email problems. When changes are made to an incident,
he edits the incident to reflect the changes.

In another example, an end-user experiences a printer problem, and she sends an email
message to the help desk. Upon receipt of the message, Service Manager automatically
creates an incident from the message. Phil investigates the problem, in part, by viewing
the service. After the underlying problem has been solved, he resolves and closes the
incident.

At Woodgrove Bank, connectors are configured in such a way that Service Manager
imports configuration items and alerts from, so that some new incidents are created
automatically. Phil reviews the automatically created incidents for accuracy.

Troubleshoot incidents
In the scenario that encompasses troubleshooting incidents, Phil is conducting an initial
investigation of the problem that Joe is experiencing. Phil suspects that the root cause
of the problem is that an update for Microsoft Exchange Server needs to be applied to
Joe's Exchange server. However, there are other Exchange servers at Woodgrove Bank
that probably also need to be updated. Phil starts his investigation by viewing the
service that Garret created for the Exchange service. When any incidents affect a service
component, that component is marked with an orange icon resembling a square
containing an exclamation point. When a change request affects a service component,
the component is marked with a special blue icon resembling a square containing a
right-pointing arrow. Phil uses the map view on the Service Components tab to view
configuration items and view incidents associated with them. Then, he opens other
configuration items and adds them to the open incident.

To further troubleshoot, Phil wants to ping a remote computer that is exhibiting


problems. He can use tasks that are part of the Service Manager console instead of
having to use various other tools.

Manage problems
In the scenario that encompasses problem management, Phil has created a change
request asking the Exchange Administrators group to apply an update, which is
expected to resolve the problem. When a root cause is found and mitigated or resolved,
the change request is completed and Phil is notified. He then uses the prescribed
procedures to resolve a problem and automatically resolve incidents associated with the
problem.

Manage Service Manager incidents


Help desk analysts use incident management to restore regular operations as quickly
and as cost-effectively as possible by creating new incidents. They also work in
partnership with Service Manager administrators to ensure that incidents that are
created automatically or by end-users are correctly categorized and reassigned to
appropriate personnel. Methods that analysts use to accomplish these duties include:

Using the E-mail Incident template to create new incidents.


Reviewing automatically created incidents, such as those incidents that are
automatically created from System Center Operations Manager using the
Operations Manager Alert connector.
Reviewing and updating incidents that are created by end-users who have sent
requests by email.
Combining incidents into parent-child relationships when incidents are related.

Using the E-mail Incident template to populate a new email-related incident, you can
quickly create an incident and ensure that the correct Impact, Urgency, Assigned
Analyst, and Support Tier fields are configured.

If you configure connectors so that Service Manager imports configuration items and
alerts from Operations Manager, some new incidents are automatically created. An
analyst reviews the automatically created incidents for accuracy.

In Service Manager, incidents are automatically created from email requests by users. If
the user is recognized as a Service Manager end-user, the request that is sent to the
help desk email address automatically creates a new incident.

7 Note

Service Manager can automatically generate new incidents from email requests
only after a Service Manager administrator enables inbound email processing. By
default, the impact and urgency of every incident created by email submission is
set to medium, and no category is assigned.
Normally, you create incidents only for user accounts in your organization that have
Active Directory Domain Services (AD DS) accounts that are synchronized with Service
Manager. However, you might occasionally need to manually create incidents for users.
For example, you might need to create an incident for a new user whose account isn't
yet in AD DS or if an Active Directory account isn't yet synchronized with Service
Manager. You can also manually create incidents to support external vendors who don't
have Active Directory accounts. In another example, you might need to open an incident
for an on-site technician who doesn't have an Active Directory account but who needs
to report an incident. Or, you might need to open an incident for an externally-
supported customer who doesn't have an Active Directory account. In all these
examples, you must manually create a user in Service Manager. For more information,
see How to Add a Member to a User Role.

Depending on the needs of your organization, you might want to have a clear
distinction between an incident's Assigned To user and the primary owner. Within
Service Manager, neither use has any implied value. For example, although you can
choose both of these two users in an incident form, you might want customers to deal
with a single person who is your customer focal point. In this case, that person might be
the primary owner who also owns other incidents. An Assigned To user might be one of
many analysts who might work on an incident temporarily before the incident is
assigned to another analyst before it's ultimately resolved and closed.

IDs that are assigned to change requests and incidents aren't created in sequence.
However, newer change requests and incidents are assigned IDs with a higher number
than the IDs created previously.

Combine Service Manager incidents into


parent-child groups
Incidents in System Center - Service Manager are short-lived while help desk analysts
investigate and then restore operations. Often, incidents are related and it's useful to
group incidents together. You can create a parent incident to group other existing
incidents together, which can help provide visibility into them and their relationship to
one another.

A Service Manager administrator can define automatic incident resolution settings so


that when a parent incident is resolved, all its child incidents resolve automatically, don't
resolve automatically, or to let the analyst decide whether to resolve or not. Similarly, an
administrator can also define automatic incident reactivation settings so that when a
parent incident is reactivated, all its child incidents reactivate automatically, don't
reactivate automatically, or to let the analyst decide whether to reactivate the child
incidents. Both processes can help you verify that all child incidents are resolved or
activated together as a group.

Create a parent incident from an incident form


In System Center - Service Manager, one way a help desk analyst can create a parent
incident is when an existing incident is already opened. You can create a parent incident
using the following steps. A parent incident serves as a container for several incidents.

The following procedure is performed on an incident that is neither a parent incident


nor a child incident. Afterward, a new parent incident is created and the existing incident
is converted to a child incident.

To create a parent incident from an incident form


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incidents.
2. Select any Incident Management view that contains active incidents, and then
select an incident.
3. In the Tasks pane, select Edit to open the incident.
4. In the Tasks pane, select Link to New Parent Incident to open the Link to New
Parent Incident dialog.
5. In the Link to New Parent Incident dialog, select a template to create the new
parent incident with, and select OK. For example, select Networking Issue Incident
Template, and select OK.
6. In the Title box, enter a new description or modify the description that is inserted
by the template. For example, enter Network Outage in Bldg 773.
7. In the Affected user box, select the user who reported this incident. For example,
select Joe Andreshak.
8. In the Alternate Contact Method box, enter additional contact information for the
affected user (optional).
9. The Child Incidents tab appears in the form where you view the child incident that
the new parent incident is grouped with and where you can add other child
incidents.
10. In the parent incident form, select OK to close it.
11. In the original incident form, select OK to close it.

Link an open incident to a parent incident


The help desk analyst can link open incidents to a parent incident or remove links using
the following procedures.
To link open incidents to a parent incident
1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incident Management.
2. Select any incident view that contains one or more incidents that you want to link
to a parent incident.
3. Select one or more incidents, and in the Tasks pane, select Link/Unlink to Existing
Parent Incident, and then in the submenu, select Link.
4. In the Link to parent incident dialog, select Link.
5. In the Select Parent Incident dialog, select the parent incident that you want to
link the open incident to, and select OK to create the link and close the Select
Parent Incident dialog.

To remove links between child incidents and the parent incident

1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incident Management.
2. Select any incident view that contains one or more incidents that you want to
unlink from the parent incident.
3. Select one or more incidents, and in the Tasks pane, select Link/Unlink to Existing
Parent Incident, and then in the submenu, select Unlink.
4. In the Unlink confirmation dialog, select Yes.

Resolve a parent incident


In Service Manager, the help desk analyst can resolve a parent incident, and then Service
Manager will automatically resolve all its child incidents if the Service Manager
administrator has configured Incident settings accordingly. This method of resolving
incidents can help the analyst quickly close many child incidents. Use the following
procedure to resolve a parent incident.

To resolve a parent incident


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incident Management.
2. Select the All Open Parent Incidents view, and then in the list of parent incidents,
select the incident that you want to resolve.
3. In the Tasks pane, select Change Incident Status, and then in the submenu, select
Resolve.
4. In the Resolve dialog, select a Resolution Category, and then in the Comments
box, enter a description of the steps that you've taken to resolve the incident.
5. If you want child incidents to resolve automatically and the option is available,
ensure that the Resolve child incidents when resolving this parent incident option
is selected, and select OK to resolve the incident-and child incidents, if selected,
and then close the Resolve dialog.

Link an active incident to a resolved parent incident


While reviewing active incidents in Service Manager, help desk analysts might determine
that an incident should have already been resolved because another analyst has already
corrected the underlying cause. If there's a closed parent incident, the analyst can use
the following procedure to link the incident to the resolved parent and then
automatically resolve the active incident.

To link an active incident to a resolved parent and automatically


close the active incident
1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incident Management.
2. Select any incident view that contains the incident that you want to a resolved
parent to.
3. Select one or more incidents, and in the Tasks pane, select Link/Unlink to Existing
Parent Incident, and then in the submenu, select Link.
4. In the Select Parent Incident dialog, select the resolved parent incident that you
want to link the open incident to, and select OK.
5. In the Link to parent incident dialog, select Link to parent and resolve incident.
6. If you're linking multiple active incidents to a resolved parent, ensure that you
select Repeat this option for all conflicts to automatically resolve all the incidents.

Reactivate a resolved parent incident


In Service Manager, the help desk analyst can reactivate a parent incident, and then
Service Manager will automatically activate all its child incidents if the Service Manager
administrator has configured the Incident settings accordingly. This method of
reactivating incidents can help the analyst quickly activate many child incidents. Use the
following procedure to reactivate a parent incident.

Depending on the parent incident settings in the Administration workspace, the


behavior of automatic child incident resolution and reactivation varies.

To reactivate a parent incident


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incident Management.
2. Select the All Incidents view, and then in the list of parent incidents, select the
incident that you want to reactivate.
3. In the Tasks pane, select Change Incident Status, and then in the submenu, select
Activate.
4. In the Activate dialog, in the Comments box, enter a description of the reason
you're activating the incident.
5. Select OK to activate the incident and child incidents, if they're available and
selected, and to close the Activate dialog.

Create a parent incident template


In Service Manager, a parent incident template is used to create new incidents. Incidents
created from a template will include information for fields that you don't have to enter
manually. By using a template for new incidents, new incidents are created faster than
from scratch.

The template author creates a template for release records by using the following
procedure.

To create a parent incident template

1. In the Service Manager console, open the Library workspace, and in the Library
pane, select Templates.
2. In the Tasks list under Template, select Create Template.
3. In the Create Template dialog, enter a name for the incident template and a
description of what the template applies.
4. Under Class, select Browse; in the Select a Class box, select Incident; and then
select OK to close the Select a Class box.
5. Optionally, you can select the management pack where the template is saved.
6. Select OK to close the Create Template dialog, and the new incident template
form appears.
7. Enter information on the General tab, and select the Activities tab.
8. Optionally, you can add, delete, or modify manual activities for the template.
9. If you add an activity, the activity form opens. Enter the necessary information, and
select OK to save the activity.
10. When you've added all the activities you want, select OK to save the incident
template and close it. The incident template then appears in the Templates list.
View a parent incident from a child incident
In Service Manager, the help desk analyst can use the following procedure to easily view
parent incidents when a child incident is open. Reviewing parent incident information is
often necessary to determine the status of its child incidents. Use the following
procedure to view a parent incident from a child incident.

To view a parent incident from a child incident

1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Incident Management.
2. Select an incident view that contains a child incident that you want to open, and
then select the incident.
3. In the Tasks pane, select Edit.
4. In the incident form banner, the parent incident ID and description appears next to
Parent incident. Select the linked parent incident to open it.
5. After reviewing the parent incident information, you can optionally update any
information, such as comments, in the Action Log.
6. If you make changes to the parent incident, select OK. Otherwise, select Cancel.
7. If you make changes to the child incident, select OK. Otherwise, select Cancel.

Link a new incident to a parent incident


When analysts create new incidents, Service Manager automatically notifies you if any
parent incidents exist with the same classification category. The purpose of the
notification is to help you combine incidents into parent child groups where a common
underlying issue exists. Later, you can use the parent incident to manage the group of
incidents as a whole and to serve as a single point of resolution.

Use the following procedure to manually create a new incident and then link it to a
related parent.

To link a new incident to a parent incident

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Incident Management, and select an incident
view, such as All Incidents.
3. In the Tasks pane, under Incident Management, select Create Incident.
4. In the Tasks pane, select Apply Template.
5. Under Templates in the Apply Template dialog, select an incident template, such
as Software Issue Incident Template, and select OK.
6. When the template applies a classification category or if you manually select a
classification category that is in use by an active parent incident, a message
appears in the incident form banner. You can optionally select the link to create a
link from the new incident to the existing parent. If you're linking the new incident
to a parent incident, perform one of the appropriate following substeps:

If the parent incident is resolved, in the Link to parent incident dialog, select
Link to parent and resolve incident.
Select the link to create the link between the new incident and the parent
incident.

7. In the Title box, enter a new description or modify the description that is inserted
by the template.
8. In the Affected user box, select the user who reported this incident.
9. In the Alternate Contact Method box, enter additional contact information for the
affected user (optional).
10. If necessary, select the Related Items tab.
11. Optionally, in the Attached Files area, select Add.
12. Optionally, in the Open dialog, select the file that you want to attach to this
incident, and select Open. For example, select the screenshot of an error message
that the affected user has received.
13. Select OK.

To validate creation of a new incident


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and select All Incidents.
New incidents appear in the All Incidents view.

Manually create a new incident in Service


Manager
In Service Manager, incidents are automatically created from email requests by users.
However, you can use the following procedures to manually create a new incident in the
Service Manager console and then validate it. For example, you might want to manually
create a new incident for a person who is experiencing an email-related problem. You
can link other affected items, such as various computers, to indicate that the issue
affects more than one computer.

To create a new incident from a configuration item view


1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Configuration Items, expand Computers,
and select All Windows Computers.
3. In the All Windows Computers view, filter for the computer for which you want to
create an incident, and then select the computer. For example, select
Exchange01.woodgrove.com.
4. In the Tasks pane, select Create Related Incident.
5. In the Tasks pane, select Apply Template.
6. Under Templates in the Apply Template dialog, select Software Issue Incident
Template, and select OK.
7. In the Title box, enter a new description or modify the description inserted by the
template. For example, enter User unable to open e-mail that has restricted
permissions.
8. In the Affected user box, select the user who reported this incident. For example,
select Joe Andreshak.
9. In the Alternate Contact Method box, enter additional contact information for the
affected user (optional).
10. Select the Related Items tab.
11. In the Attached Files area, select Add.
12. In the Open dialog, select the file that you want to attach to this incident, and
select Open. For example, select the screenshot of an error message that the
affected user has received.
13. Select OK.

To create a new incident by email


1. In an email program, create a new email message, and enter the help desk alias or
email address in the To box. For example, enter
[email protected] in the To box.
2. In the Subject box, enter a subject. For example, enter Unable to print checks.
3. In the message body, enter additional information that the help desk analyst can
use to correct the problem. For example, enter The check printer has a paper jam.
I will use a backup printer until the jam is fixed.
4. Optionally, attach files that the help desk analyst can use to correct the problem.

To validate creation of a new incident


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and select All Incidents.
New incidents appear in the All Incidents view.
Change an existing incident in Service Manager
In Service Manager, you can use the following procedures to change the urgency of an
incident, edit an unassigned incident from Operations Manager, link a knowledge article
to an incident, and validate the changes. Users create simplified incidents using the Self-
Service Portal based on the Incident portal template. Because user-created incidents are
simplified, analysts often need to revise new incidents with additional information.
Additionally, there's no functional difference between incidents created with the Self-
Service Portal, using either the Need help with a problem or Need repair or fix options.

7 Note

Incidents are automatically created by System Center - Service Manager when the
Operations Manager Alert connector is enabled. You can edit the new incidents that
are generated when an Operations Manager alert is raised and then assign the
incidents to analysts.

To change the urgency of an incident


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and select All Open E-
Mail Incidents.
3. In the All Open E-Mail Incidents view, select the original incident. For example,
select the Unable to print checks incident.
4. In the Tasks pane, select Edit.
5. In the Incident form, in the Urgency list, select High.
6. Optionally, enter a comment in the Action Log box. If you don't want end-users to
be able to read the comment, select the Private checkbox that is above the Action
Log box. For example, in the Action Log box, enter The user called to say that the
backup printer is unavailable and that this issue is now urgent. Then, select Add.
The new comment appears as a log entry.
7. Select OK to close the form and to save your changes.

To edit an unassigned incident from Operations Manager


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and select All Open
Operations Manager Incidents.
3. In the All Open Operations Manager Incidents view, select an incident that was
created automatically from an Operations Manager alert.
4. In the Tasks pane, select Edit.
5. In the Incident form, under Support Group, select Tier 1.
6. Under Assigned to, enter the name of the help desk analyst who will investigate
the problem.
7. Select OK to close the form and to save your changes.

To link a knowledge article to an incident


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and select All Open
Operations Manager Incidents.
3. In the All Open Operations Manager Incidents view, select the incident that was
created automatically from an Operations Manager alert.
4. In the Tasks list, select Search for Knowledge Articles.
5. In the Knowledge Search dialog, enter a search term in the Search for box, and
select Go. For example, enter MICR Check Printer Article.
6. Select the article, select Link to <IncidentName>, select OK to close the
informational dialog, and select Close.

To validate incident edits


Open the incident, and then verify that your changes appear. For example, verify
that the comment you entered appears as a log entry.

Contact a user from an incident form


In Service Manager, you can contact a user by Skype for Business when an incident form
is open. The presence indicator is shown in the form next to the affected user's name,
and it displays their current status, if known. For the presence indicator to accurately
reflect a user's status, the user must have an Active Directory account, and the user must
be a member of the same domain in which the Service Manager management server has
its computer account. Additionally, the computer running the Service Manager console
must have Skype for Business installed.

7 Note

If a user's account belongs to a domain other than the domain in which the Service
Manager management server has its computer account, the presence indicator
might not accurately display the user's status.
To contact a user by instant message
1. In an open incident form, select the presence indicator next to the Affected user
box, and select the triangle next to the box.
2. Select Send Instant Message.
3. Your instant message program opens. Compose the instant message, and then
send it.

Create an incident view and personalize it in


Service Manager
In Service Manager, you can use the following procedures to create and personalize an
incident view and then validate it.

Views let you group incidents that share certain criteria. For example, the following
procedure helps you create a view that lists all the incidents in which the classification
has been set to E-mail Problems or to some other classification. When you create a new
view, it's saved and becomes available for later use.

You can also personalize a view. However, when you personalize changes to a view,
those changes aren't saved. For example, you can personalize the All Incidents view, but
if you change column widths, column sorting, or grouping or if you remove columns,
the next time you return to the view it displays information in the same manner as it did
before you personalized it.

To create an incident view


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management.
3. In the Tasks pane, select Create View.
4. In the General section of the Create View dialog, enter a name for the view in the
Name box. For example, enter E-mail Incidents.
5. In the Description box, enter a description. For example, enter All incidents in
which the classification is E-Mail Problem.
6. Select Criteria.
7. Next to the Search for objects of a specific class list, select Browse.
8. In the Select a Class list, under View, select Combination classes, select Incident
(Typical), and select OK.
9. In the Related classes box, ensure that Incident is selected. In the Available
properties list, select Classification Category, and select Add. You might need to
scroll to see the Add button.
10. At the end of the Criteria section, in the Criteria definition area, select E-mail
problems. When the criterion is complete, it resembles [Incident] Classification
Category equals E-Mail Problems.
11. Select Display, and in the Columns to display list, select Status, Classification
Category, and Description. Next, under Assigned To User, select Display Name.
Then, select OK.

To personalize an incident view


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and then select an
incident view. For example, select All Incidents.
3. Right-click any view column heading to resize the columns, to remove items from
the results, or to change column sorting and grouping. Repeat this step until
you're satisfied with the results.

To validate the incident view creation


In the Work Items pane, ensure that an E-Mail Incidents view exists under Incident
Management. Ensure that the view displays all the incidents in the E-Mail
Problems category.

7 Note

It might take a few seconds for the new incident view to appear.

Resolve and close an incident in Service


Manager
In Service Manager, you can use the following procedures to resolve and close an
incident and then validate that the incident was resolved and closed.

After you research a problem and resolve its source, you can resolve and close the
incident. An incident is considered resolved when the required change has been made.
When the affected user has confirmed that the problem that caused the incident has
been eliminated, the incident can be closed.

To resolve and close an incident


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Incident Management, and select E-Mail
Incidents.
3. In the E-Mail Incidents view, select the incident you want to resolve and close.
4. In the Tasks pane, select Change Incident Status and select Resolve.
5. In the Resolve dialog, select the appropriate category for resolving this incident in
the Resolution Category list. For example, select Fixed by higher tier support.
6. In the Comments box, enter a comment that explains the resolution. For example,
enter Resolved by installing Service Pack 1 on the Exchange server, and select OK.
7. In the Tasks pane, select Change Incident Status and then Close.
8. In the Close dialog, enter a comment about the closure of the incident, and select
OK.

To validate that an incident was resolved and closed


In the All Incidents pane, the status for the incident or incidents changes from
Active to Resolved when you resolve an incident and from Resolved to Closed
when you close the incident.

7 Note

It might take a few seconds for the new status to appear. To immediately view
the change, select Refresh.

Troubleshoot Service Manager incidents


You can use the following procedures to troubleshoot an incident in Service Manager
using a service map. A service map is a visual representation of a service from the
perspective of the business and user that shows critical dependencies, settings, and
areas of responsibility. Because a service map can show the relationship between
incidents and configuration items, it's especially useful when you troubleshoot issues
that might affect multiple incidents and configuration items. For example, if an incident
affects one configuration item, other configuration items that are part of the service
might also be affected. If necessary, you can add additional configuration items as items
that are affected by the same open incident.

Additionally, when you use the Service Components tab to view the service map, you
can easily determine whether there are active incidents or change requests open for a
service component. When any incidents affect a service component, that component is
marked with an orange icon resembling a square containing an exclamation point.
When a change request affects a service component, the component is marked with a
special blue icon resembling a square containing a right-pointing arrow.

To view incidents that affect service components


1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Business Services, and select All
Business Services.
3. In the All Business Services list, double-click a business service. For example,
double-click Exchange Service.
4. In the dialog that opens, select the Service Components tab.
The list of service components includes configuration items. For example, the list
might include computers running Microsoft Exchange Server. When a service
component is marked with an icon, the icon indicates that an incident is associated
with the service component.
5. Select a configuration item that has a related work item. For example, select the
Exchange01.woodgrove.com server.
6. In the Related work items for the selected item list, select a work item to view,
and select Open.

To add related service components to an open incident


1. In the list of service components, select an item that has an active incident.
2. Under Related work items for the selected item, select a work item, and select
Open to open the incident.
3. Under Affected Items, select Add.
4. In the Select objects dialog, select the configuration item to add to the incident,
select Add, and select OK.
5. Select OK to update the incident, and then return to the Service Components tab
for the service.
6. Repeat the previous steps to add other service components to the open incident.
7. Select OK to close the service item.

To validate that the service components were added to an


incident
Open the business service to which you added the incident, and select the Related
Items tab. Verify that the new incident appears under Work items affecting this
configuration item.
Manage problems in Service Manager
The procedures in this section describe how to manage problems in Service Manager.

In Service Manager, problems are records that are created to help prevent future
problems and incidents from happening, to eliminate recurring incidents, and to
minimize the impact of incidents that can't be prevented. Analysts can use the Service
Manager console to create problem records and to associate incidents with problems.

Create and edit problem records


You can use the following procedures to create new problem records and then edit
them by using the Service Manager console. You can create a new problem record from
the Service Manager console, from an incident view, or from an incident form.

To create a new problem record from the console

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Problem Management, and select Active
Problems.
3. In the Tasks pane, select Create Problem.
4. In the Title box, enter a title for the problem. For example, enter Outlook E-Mail
Restricted Permissions.
5. In the Description box, enter a description of the problem. For example, enter
Users cannot view e-mail messages sent with restricted permissions.
6. If you want to assign the problem to an analyst, enter the name of the analyst in
the Assigned to box.
7. In the Source list, select the source of the problem request.
8. Select the appropriate values in the Category, Impact, and Urgency boxes.
9. Select OK.

To create a new problem record from an incident view

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Incident Management, and select All Incidents.
3. In the All Incidents list, search for incidents whose titles match the problem record
that you want to create, and select Search. For example, search for restricted
permission.
4. In the search results, select the incidents for which you want to create a problem
record. In the Tasks pane under Selected Items, select Create Problem.
5. In the Title box, enter a title for the problem. For example, enter Outlook E-Mail
Restricted Permissions. When you create a problem by using this method, the
problem form inherits the title from the open incident if a single incident was
selected. If multiple incidents were selected, the Title box is blank. You can change
the title of the problem record.
6. In the Description box, enter a description of the problem. For example, enter
Users cannot view e-mail messages sent with restricted permissions.
7. If you want to assign the problem to an analyst, enter the name of the analyst in
the Assigned to box.
8. In the Source list, select the source of the problem request.
9. Select the appropriate values in the Category, Impact, and Urgency boxes.
10. Select OK.

To create a new problem record from an incident form

1. Ensure that an incident is already open. Then, under Tasks, select Create Problem.
2. In the Title box, enter a title for the problem. For example, enter Outlook E-Mail
Restricted Permissions. When you create a problem using this method, the
problem form inherits the title from the open incident. You can change the title of
the problem record.
3. In the Description box, enter a description of the problem. For example, enter
Users cannot view e-mail messages sent with restricted permissions.
4. If you want to assign the problem to an analyst, enter the name of the analyst in
the Assigned to box.
5. In the Source list, select the source of the problem request.
6. Select the appropriate values in the Category, Impact, and Urgency boxes.
7. Select OK.

To edit a problem record


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Problem Management, and select Active
Problems.
3. In the Active Problems view, double-click a problem. For example, double-click the
Outlook E-Mail Restricted Permissions problem.
4. In the problem form, edit information that needs to be changed. For example, if a
workaround is found for the problem, select the Resolution tab. Then, in the
Workarounds field, enter the workaround steps.
5. Select OK.
To validate the creation of a new problem record
In the Tasks list, select Refresh to view the new problem record, or open the
problem record to view the revised information.

Resolve problem records and related incidents


automatically
You can use the following procedures to resolve a problem record and the incidents that
are associated with it and then validate the resolution.

To resolve a problem record and the incidents that are associated


with it
1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Problem Management, and select Active
Problems.
3. In the Active Problems view, double-click the problem record that you want to
resolve. Then, in the Tasks pane, select Resolve.
4. Select the Resolution tab, and select to select the Auto-resolve all incidents
associated with this problem checkbox.
5. In the Resolution Category box, select the appropriate category.
6. In the Resolution Description box, enter a summary of the resolution for this
problem record. For example, enter Application of Exchange Server 2010 SP1 fixed
the restricted permission problem that affected users across forests.
7. Select OK.

To validate problem and incident resolution


Verify that the incidents associated with the problem record appear in the All
Incidents view and that they have a status of Resolved.

7 Note

It might take a few minutes for the incident status to be updated to Resolved.

Link an incident or change request to a problem record


You can use the following procedure to link an incident or change request to a problem
record if you created a problem record without linking it to an existing incident or
change request.

To link an incident or change request to a problem record


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Problem Management, and select Active
Problems.
3. In the Active Problems view, double-click a problem record. For example, double-
click the Outlook E-mail Restricted Permissions problem record.
4. In the problem form, select Related Items tab.
5. Under Work Items, select Add.
6. In the Select objects dialog, either select a work item or search for and select one
or more work items to link to the problem record. Select Add, and select OK.
7. Select OK to close the form.

To validate the link


In the Active Problems view, open the problem record to which you linked a work
item, select the Related Items tab, and then verify that the items you linked appear
under Work Items.

Next steps
Manage changes and activities by providing repeatable, predictable, and measured
processes to implement change.
Manage changes and activities in
Service Manager
Article • 03/16/2023

Information Technology (IT) departments must manage changes to their IT environment


and the risk associated with such changes. The change management features in Service
Manager help you manage change by providing repeatable, predictable, and measured
processes to implement change.

The sections in this article are organized according to common change management
scenarios. Even though the sample scenarios refer to a fictitious organization,
Woodgrove Bank, the scenarios and steps are based on real use, and they describe how
to use the change and activity management features in Service Manager.

This sample scenario for System Center - Service Manager helps you achieve your goal
of managing changes and activities by using multiple scenarios end to end. You can
think of this sample scenario as a case study that helps put the individual scenarios and
procedures in context.

Initiate classify change requests


In the scenario that encompasses initiating and classifying a change request, Julia, the
messaging support analyst, wants to propose and track a change. To do this, she creates
a change request to capture information that she and others will use to evaluate, plan,
develop, test, deploy, and assess changes. Julia starts by initiating the change request
and then identifying its priority and category.

In incident management scenarios, Phil created an incident in which a user had a


messaging problem, and he completed an initial investigation of the problem. In this
scenario, Julia continues to investigate the same incident. She verifies that the cause is a
known issue with Microsoft Exchange Server and fixes it. She also determines that all
Exchange servers need an update, not just a single server. Next, Julia views the service
map for the Exchange service configuration item that requires the update, and she
opens a change request from the service's configuration item form. Lastly, Julia attaches
a saved screenshot to the change request, which might help later with the change
request review.

After the change request is created, the change reviewers at Woodgrove Bank must
approve the change request, and the change implementers must complete the actions
that are required for the change. These review and implementation steps are defined in
the change request as a set of review activities and manual activities.

Approve change requests


In the scenario that encompasses approving a change request, Garret wants to enforce
the Woodgrove Bank business process of requiring approval of any IT infrastructure
changes before the changes are deployed. He wants to enforce this business process by
using Service Manager to associate review activities for a change request. By requiring
approval, the change request is implemented only after decision makers at Woodgrove
Bank agree that the change is necessary. Garret can set up various review methods, such
as unanimous voting, percentage of positive votes, or automatic approval.

The procedures that are related to this scenario describe a change to Woodgrove Bank's
IT infrastructure that is approved before deployment.

Suspend and resume change requests


During the course of reviewing the readiness of a change request, Garret occasionally
wants to put a change request on hold and then later resume that change request. For
example, Julia previously created a change request. That change request depends on the
additional work of an external team. Garret wants to put that change request on hold
until the external team completes its work. Garret will resume the change request after
the external team's work is complete. Garret also wants to occasionally unblock failed
change requests.

Implement and close change requests


After changes to Garret's IT infrastructure are tested and approved for deployment, his
final step is to finish any remaining manual activities that are associated with the change
request. A manual activity must be designated as either completed or failed. When all
the manual activities are completed, the change request is automatically set as
completed, and it appears in the Change Requests: Completed view. If a manual activity
fails, the change request is automatically set as failed, and it appears in the Change
Requests: Failed view. When the change request appears in either view, Garret can close
the change request. After a change request has been closed, it can't be reopened.

In the scenario that encompasses implementing and closing change requests, Aaron
completes a warranty review manual activity. Next, Garret sets the change request's
remaining manual activities to Completed, and closes the change request. Garret opens
a second existing change request, sets the post-implementation manual activity to
Failed, and then closes that change request.

Initiate and classify a change request in Service


Manager
The procedures in this section describe how to initiate and classify a change request in
Service Manager from start to finish.

A change request normally results in a change to a configuration item. Therefore, it's


important to understand the difference between a related item and a linked or affected
item. A related item indicates that an association exists between the change request and
a configuration item or other change requests. In other words, the change request
might affect the related item or it might not. An affected or linked item indicates that
the change request is tied directly to the item and that the change will affect the item
itself.

Complete the following steps to initiate and classify a change request.

Create a new change request


You can use the following procedures in Service Manager to create a change request for
servers that are part of a service and then validate the creation of the change request.
First, you view items from the service dependency view. Then, you navigate to the
configuration items and open a change request template. Lastly, you assess the priority,
impact, and risk level of the request. Although you create the change request from a
service dependency view, you can also create a new change request from other places in
Service Manager.

7 Note

IDs that are assigned to change requests and incidents aren't created in sequence.
However, newer change requests and incidents are assigned IDs with a higher
number than the ones created previously.

To create a change request


1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Business Services, and select All
Business Services.
3. In the All Business Services pane, double-click the service. For example, double-
click IT Messaging Service.
4. In the dialog that opens, select the Service Dependents tab.
5. In the Expand to list, select Level 1, and then view the items in the list. Notice the
server names. For example, Exchange01.woodgrove.com and
Exchange02.woodgrove.com appear in the list.
6. In the Service Dependents list, select a computer, and select Open. For example,
select and open Exchange01.woodgrove.com.
7. In the computer form, select Create Related Change Request under Tasks.
8. In the Select Template dialog, select a template, and select OK. For example, select
Changes to messaging infrastructure template.
9. In the Title box, enter a name for the change request. For example, enter Apply
Exchange Server Service Pack. Notice that various values in the form are
populated with information from the change request template.
10. In the Description and Reason fields, enter a description and the reason for the
change request. For example, enter Apply Exchange Server Service Pack to these
servers in the Description field, and enter The service pack fixes the problem that
these servers have in the Reason field.
11. In the Assigned To field, enter the name of the person to whom you want to assign
the change request. For example, enter Aaron Lee.
12. Specify the priority, impact, and risk. For example, In the Priority list, select
Medium. In the Impact list, select Standard. In the Risk list, select Medium.
13. In the Config Items To Change list, ensure that one server is listed, and select Add.
14. In the Select Objects dialog, select another item to add to the change request, and
select Add. For example, select Exchange02.woodgrove.com, and select OK.
15. Select OK to close the change request form.

To validate the creation of a change request

1. Open the service that contains the items for which you created the change request,
and select the Service Dependents tab.
2. In the Service Components list, notice that the two servers you opened the change
request for are marked with YES under the Affected By Change column.
3. Select Cancel to close the service.

Add related items to a change request


You can use the following procedures to add related items to a change request and then
validate the addition of the items. You can add related items, such as configuration
items, incidents, other change requests, files, and knowledge articles. When you add
files, such as saved screenshots, saved written procedures, and knowledge articles,
reviewers and implementers can more easily review, approve, and implement the
change.

To add files to any work item, including change requests, you must first enable the
appropriate option. For more information, see How to Configure General Change
Settings.

To add related items to a change request


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Change Management, and select All Change
Requests.

3. In the All Change Requests pane, double-click the change request to which you
want to add an item.

4. Select the Related Items tab.

5. On the Related Items tab under Attached Files, select Add to attach a file to the
change request.

7 Note

You might need to maximize the form to view buttons on the tab.

6. Under Knowledge Articles, select Add to attach a knowledge article to the change
request.

7. Select OK.

To validate that you added related items to a change request


To verify that the file and knowledge articles were attached to the change request,
reopen the change request, and select the Related Items tab.

Add manual activities to a change request


You can use the following procedures to add a manual activity and then assign it to
yourself and then validate that the manual activity was added. For example, when you
investigate a new change request, you might want to add a manual activity to the
change request. This manual activity could be any task that isn't defined in the change
request template that was used to create the change request.

7 Note

You can't delete an activity in a change request if the change request is in progress;
however, you can skip the activity or put the change request on hold and then
delete the activity.

To add a manual activity


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Change Management, and select All Change
Requests.
3. Double-click the change request to which you want to add a manual activity. For
example, double-click Apply Exchange Server Update.
4. Select the Activities tab, and select Add. In the Select Template dialog, select
Default Manual Activity, and select OK.
5. In the Title box, enter a name that describes the manual activity. For example,
enter Warranty Review.
6. In the Description box, enter a description of the manual activity. For example,
enter Verify that the server is still under warranty before approval.
7. Under Activity Implementer, select the ellipsis button (...).
8. In the Select User dialog, select the name of the person who will perform the
manual activity, and select OK. For example, select Aaron Lee.
9. Select OK to update the changes to the manual activity.
10. Select OK to update the change request and to close the form.

To validate that the manual activity was added


Reopen the change request, and select the Activities tab to view the manual
activity that you added.

Add dependent activities to a change request for release


records
You can use the following procedures to add a dependent activity to an existing change
request, which is used as part of the release management process. Although you can
add dependent activities to work items, such as release records and service requests, the
primary purpose of a dependent activity is for use as a mechanism to associate a change
request with a release record. Specifically, a manual activity in a release record is linked
to the dependent activity in a change request. When it's completed, the dependent
activity indicates that the release management process is complete for the change
request.

If you intend to use release management as part of the standard processes in your
organization, consider adding dependent activities to change request templates. For
more information about creating change request templates, see How to Create Change
Request Templates.

To add a dependent activity to a change request

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Change Management, and select All Change
Requests.
3. Double-click the change request to which you want to add a dependent activity.
For example, double-click Apply Exchange Server Update.
4. Select the Activities tab, and select Add. In the Select Template dialog, select
Default Dependent Activity, and select OK.
5. In the Title box, enter a name that describes the dependent activity. For example,
enter Exchange Server Update - Deploy, Test, and Verify .
6. In the Description box, enter a description of the dependent activity. For example,
enter Verify that the service pack is deployed, tested, and verified successful.
7. Under Owner, select the ellipsis button (...).
8. In the Select User dialog, select the name of the person who has overall
responsibility for the dependent activity, and select OK.
9. Under Assigned To, select the ellipsis button (...).
10. In the Select User dialog, select the name of the person who will perform the
dependent activity, and select OK. For example, select Aaron Lee.
11. As an option, specify scheduling information on the Scheduling tab.
12. Select OK to update the changes to the dependent activity.
13. Select OK to update the change request and to close the form.

To validate that the dependent activity was added


Reopen the change request, and select the Activities tab to view the dependent
activity that you added.

Approve and modify change requests


The procedures in this section describe how to approve a change request in Service
Manager. Complete the following steps to approve or modify a change request.

Edit a change request


You can use the following procedures to edit a change request and then validate the
edit. For example, you might want to change the priority of an existing change request
from medium to high.

7 Note

You can't delete an activity in a change request if the change request is in progress;
however, you can skip the activity or put the change request on hold and then
delete the activity.

To edit a change request

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Change Management, and select All Change
Requests.
3. Double-click a change request. For example, double-click Apply Exchange Server
Service Pack.
4. Make the change that you want. For example, if you want to change the priority to
high, select High in the Priority list. Or enter new text in the Description box.
5. Select OK to update the change request and to close it.

To validate an edited change request

1. Double-click the change request that you updated.


2. Verify that your changes are displayed in the change request form.

Add a change reviewer


You can use the following procedures to add a change reviewer for an existing change
request and then validate that the reviewer was added. You can select who reviews
change requests in a way that supports your business processes. For example, if a
change affects a process for which certain people are responsible, you can give those
people the ability to approve change requests that affect the process.
To add a change reviewer
1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, select Change Management, and
select All Change Requests.
3. Double-click a change request to open it. For example, double-click Apply
Exchange Server Service Pack.
4. Select the Activities tab to view the list of manual and review activities.
5. Double-click the activity to which you want to add a reviewer. The activity must
have a status of In Progress or Pending, and in the ID column, the activity must
also have the RA prefix or the prefix you defined for review activities.
6. In the dialog that appears, select Add, enter the name of a reviewer, select Must
Vote, and select OK. For example, enter Aaron Lee.
7. Select OK to close the dialog, and select OK to update the change request and to
close the form.

To validate that a reviewer was added

1. Double-click the change request to which you added a reviewer. For example,
double-click Apply Exchange Server Service Pack.
2. Select the Activities tab, and then double-click the activity to which you added a
reviewer.
3. Verify that the reviewer was added.

Approve a review activity using the console


You can use the following procedures to approve a review activity in the Service
Manager console and then validate the approval. In many cases, multiple people or
groups must vote to approve a single review activity before its approval is final.

7 Note

Users can only approve or reject the activities that are assigned to them.

To approve a review activity for a change request

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Work Items, expand Activity Management,
expand Review Activities, and select In-Progress Activities.
3. Select a review activity. For example, select the Messaging Infrastructure Request
Approval.
4. In the Tasks pane, select Approve.
5. In the Comments dialog, enter any comments that you've for the approval or
rejection, and select OK.

To validate review activity approval


If all the reviewers approved the activity, the activity doesn't appear in the In-
Progress Activities view.
If an activity is still in progress, it requires approval from other reviewers. Select In-
Progress Activities, and then open the activity to view your voting status.

Send automated activity and change request notifications


You can use the following procedure to notify reviewers that an activity is available for
review. You can use the second procedure to notify users that a change request has
been closed.

7 Note

Only administrators can configure workflow notifications.

To notify reviewers that an activity is available for review


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Workflows, and select Configuration.
3. Select Activity Event Workflow Configuration, and select Configure Workflow
Rules in the Tasks pane.
4. In the Select a Class dialog, select Review Activity, and select OK.
5. In the Configure Workflows dialog, select Add.
6. In the Configure Workflows for Objects of Class Review Activity Wizard, select Next
on the Before You Begin page.
7. On the Workflow Information page, enter a name and a description for the
workflow. In the Check for events list, ensure that the When an object is updated
item is selected, and select Next.
8. On the Specify Criteria page, select the Changed From tab. Under Available
Properties, select Status, and select Add.
9. Under Criteria, select Pending, and then select the Changed To tab. Under
Available Properties, select Status, and select Add.
10. Under Criteria, select In Progress, and select Next.
11. On the Apply Template page, clear the Apply the selected template checkbox,
and select Next.
12. On the Select People to Notify page, select the Enable notification.
13. Under User, select Assigned To User.
14. Under E-mail Template, if you can't select a template, select Create E-Mail
Template. Otherwise, select an email notification template to apply.
15. If you're creating an email notification template, complete the Create E-Mail
Notification Template Wizard.
16. After you've selected an email template, select Add, ensure that Reviewers appears
under the User column, and select Next.
17. On the Summary page, review the summary information, and select Create.
18. On the Completion page, select Close.

To notify users that a change request has been closed


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Workflows, and select Configuration.
3. Select Change Request Event Workflow Configuration, and select Configure
Workflow Rules in the Tasks pane.
4. In the Configure Workflows dialog, select Add.
5. In the Configure Workflows for Objects of Class Change Request Wizard, select
Next on the Before You Begin page.
6. On the Workflow Information page, enter a name and a description for the
workflow. In the Check for events list, ensure that the When an object is updated
item is selected, and select Next.
7. On the Specify Criteria page, select the Changed From tab. Under Available
Properties, select Status, and select Add.
8. Under Criteria, select Completed.
9. Select the Changed To tab.
10. Under Available Properties, select Status, and select Add.
11. Under Criteria, select Closed, and select Next.
12. On the Apply Template page, clear the Apply the selected template checkbox,
and select Next.
13. On the Select People to Notify page, select the Enable notification checkbox.
14. Under User, select Assigned To User. Under Template, select Assigned To User
Notification Template, select Add, and select Next.
15. On the Summary page, review the summary information, and select Create.
16. On the Completion page, select Close.
To validate receipt of the notification
The reviewer of the review activity or the user that the change request is assigned
to receives an email message that indicates that a new review activity requires
approval or that the change request was closed.

Suspend and resume a Service Manager


change request
The procedures in this section describe how to suspend and resume a change request in
Service Manager. Complete the following steps to suspend or resume a change request.

Put a change request on hold


You can use the following procedures to put a change request on hold in Service
Manager and then validate that the change request is on hold. For example, you might
need to put a change request on hold if an external team needs to complete a manual
activity.

To put a change request on hold


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Change Management, and
select Change Requests: Manual Activity In Progress.
3. Select a change request to put on hold. For example, select Apply Exchange
Server Service Pack.
4. In the Tasks pane, select Put On Hold.
5. In the Comments dialog, enter a note that indicates why the change request was
put on hold, and select OK.

To validate that the change request is on hold


Select the Change Requests: On Hold view to ensure that the change request has
been put on hold.

Resume a change request


You can use the following procedures to resume a change request that was put on hold
in Service Manager and then validate that the change request was resumed. For
example, you might need to resume a change request after an external team has
completed a manual activity.

To resume a change request

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Work Items, expand Change Management, and
select Change Requests: On Hold.
3. Select a change request. For example, select Apply Exchange Server Updates.
4. In the Tasks pane, select Resume.
5. In the Comments dialog, enter a comment, and select OK.

To validate the change request was resumed

If the current activity for a change request is a review activity, select the Change
Requests: In Review view to ensure that the change request was resumed.
If the current activity for a change request is a manual activity, select the Change
Requests: Manual Activity In Progress view to ensure that the change request was
resumed.

Optionally unblock a failed change request


You can use the following procedures to unblock a failed change request and then
validate that the change request is unblocked. For example, you might need to unblock
an activity of a change request that a review board or other review body has failed.
Unblocking the change request resets the change request so that the change owner can
provide more information.

To unblock a failed change request

1. In the Service Manager console, select Work Items.


2. In the Work Items pane, expand Work Items, expand Change Management, and
select Change Requests: Failed.
3. Select a change request. For example, select Apply Exchange Server Service Pack.
4. In the Tasks pane, select Return To Activity.
5. In the Return to Activity dialog, select the failed activity, enter a comment in the
Comments box, and select OK.

To validate the change request is unblocked


If the failed activity for a change request is a review activity, select the Change
Requests: In Review view to ensure that the change request is unblocked.
If the failed activity for a change request is a manual activity, select the Change
Requests: Manual Activity In Progress view to ensure that the change request is
unblocked.

Implement and close a change request in


Service Manager
The procedures in this section describe how to implement and close a change request in
Service Manager.

Complete the following steps to implement and close a change request.

Complete or fail a manual Activity


You can use the following procedures to complete or fail a manual activity in Service
Manager and then validate that the manual activity is complete or failed.

To successfully complete a manual activity


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Activity Management,
expand Manual Activities, and select In-Progress Activities.
3. Select the manual activity.
4. In the Tasks pane, select Mark as Completed.
5. In the Comments box, enter a comment, and select OK.

To fail a manual activity


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Activity Management,
expand Manual Activities, and select In-Progress Activities.
3. Select the manual activity.
4. In the Tasks pane, select Mark as Failed.
5. In the Comments box, enter a comment, and select OK. For example, enter The
post-implementation analysis indicates that the new hardware does not
adequately meet our needs and has failed the review.
To validate that a manual activity is complete or failed
1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Activity Management,
expand Manual Activities, and select All Activities.
3. Verify that the manual activity is set to either Completed or Failed.

Close a change request


You can use the following procedures to permanently close a successful change request
or a failed change request and then validate the closure of the change request. You can't
reopen a closed change request.

7 Note

If an end-user cancels a software request before the software is deployed to the


end-user's computer, the associated change request might reflect the In Progress
status indefinitely. If this occurs, cancel the request and then close it.

To close a successful change request


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Work Items, expand Change Management, and
select Change Requests: Completed.
3. Select the change request.
4. In the Tasks pane, select Close.
5. In the Comment box, enter a comment, and select OK.

To close a failed change request


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, select Change Management, and select Change
Requests: Failed.
3. Select the change request.
4. In the Tasks pane, select Close.
5. In the Comments box, enter a comment, and select OK.

To validate the closure of a change request


Select the Change Requests: Closed view to ensure that the closed change request
appears in the list.

Optionally send automated activity and change request


notifications
You can use the following procedure to notify reviewers that an activity is available for
review. You can use the second procedure to notify users that a change request has
been closed.

7 Note

Only administrators can configure workflow notifications.

To notify reviewers that an activity is available for review


1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Workflows, and select Configuration.
3. Select Activity Event Workflow Configuration, and select Configure Workflow
Rules in the Tasks pane.
4. In the Select a Class dialog, select Review Activity, and select OK.
5. In the Configure Workflows dialog, select Add.
6. In the Configure Workflows for Objects of Class Review Activity Wizard, select Next
on the Before You Begin page.
7. On the Workflow Information page, enter a name and a description for the
workflow. In the Check for events list, ensure that the When an object is updated
item is selected, and select Next.
8. On the Specify Criteria page, select the Changed From tab. Under Available
Properties, select Status, and select Add.
9. Under Criteria, select Pending, and then select the Changed To tab. Under
Available Properties, select Status, and select Add.
10. Under Criteria, select In Progress, and select Next.
11. On the Apply Template page, clear the Apply the selected template checkbox,
and select Next.
12. On the Select People to Notify page, select the Enable notification.
13. Under User, select Assigned To User.
14. Under E-mail Template, if you can't select a template, select Create E-Mail
Template. Otherwise, select an email notification template to apply.
15. If you're creating an email notification template, complete the Create E-Mail
Notification Template Wizard.
16. After you've selected an email template, select Add, ensure that Reviewers appears
under the User column, and select Next.
17. On the Summary page, review the summary information, and select Create.
18. On the Completion page, select Close.

To notify users that a change request has been closed

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Workflows, and select Configuration.
3. Select Change Request Event Workflow Configuration, and select Configure
Workflow Rules in the Tasks pane.
4. In the Configure Workflows dialog, select Add.
5. In the Configure Workflows for Objects of Class Change Request Wizard, select
Next on the Before You Begin page.
6. On the Workflow Information page, enter a name and a description for the
workflow. In the Check for events list, ensure that the When an object is updated
item is selected, and select Next.
7. On the Specify Criteria page, select the Changed From tab. Under Available
Properties, select Status, and select Add.
8. Under Criteria, select Completed.
9. Select the Changed To tab.
10. Under Available Properties, select Status, and select Add.
11. Under Criteria, select Closed, and select Next.
12. On the Apply Template page, clear the Apply the selected template checkbox,
and select Next.
13. On the Select People to Notify page, select the Enable notification checkbox.
14. Under User, select Assigned To User. Under Template, select Assigned To User
Notification Template, select Add, and select Next.
15. On the Summary page, review the summary information, and select Create.
16. On the Completion page, select Close.

To validate receipt of the notification

The reviewer of the review activity or the user that the change request is assigned
to receives an email message that indicates that a new review activity requires
approval or that the change request was closed.

Next steps
To create and offer existing, pre-authorized services and features, see Manage
service requests.
Manage service requests in Service
Manager
Article • 03/16/2023

Service requests are requests for existing, preauthorized services and features that
Service Manager can manage as a type of work item. Service requests help you deliver a
service request fulfillment solution to align your business and information technology
(IT) strategy and ensure that IT services provide business value. Service requests are
tightly coupled with the service catalog, and together they help add value to your IT
organization by clearly managing service requests. This can help lead to a better
understanding of the supply and demand for services and a more efficient and
transparent customer service provided by your IT organization.

Service request functionality in Service Manager is based on Microsoft Operations


Framework (MOF) 4.0 and Information Technology Infrastructure Library (ITIL) V3
processes in order to align with industry standards. While not all functionality was
completed with strict adherence to those standards, the following items are included in
service request fulfillment in Service Manager:

Processes to record, track, and process service requests

Service fulfillment workflow automation

A consistent interface that helps Service Manager administrators identify and map
their existing IT services

Support for situations where cost tracking and service level agreements (SLAs) are
required

Time-to-resolution tracking through SLA integration

Create a service request using the Service


Manager console
End-users often create service requests in Service Manager by accessing the service
catalog from the Self-Service Portal or by submitting email requests. However, you can
use the following procedure to manually create a new service request in the Service
Manager console. For example, you might want to manually create a new service
request if a user contacts the help desk by telephone. In the following example, you can
update any information that you want to as you complete the form.
To create a new service request using the Service
Manager console
1. In the Service Manager console, expand Work Items, expand Service Request
Fulfillment, and then select a subnode, such as Assigned To Me.

2. In the Tasks pane under Service Request Fulfillment, select Create Service
Request from Template.

3. Under Templates in the Select Template dialog, select a template, and select OK to
open a new service request and apply the template. For example, select Request
Membership to Group.

4. In the <SR<ID>: ServiceRequestName> form in the Affected user box, select the
user who submitted the service request. For example, select Joe Andreshak.

5. Optionally, in the Alternate Contact Method box, enter additional contact


information for the affected user.

6. In the Title box, enter a title for the service request or update one if it has been
populated by a template. For example, enter Request Membership to Active
Directory Group - Joe Andreshak.

7. In the Description box, enter a description for this service request.

8. In the Urgency and Priority lists, select one for each if they haven't been populated
by a template.

9. In the Source list, select Portal if it hasn't been populated by a template.

10. In the Assigned to box, choose an analyst to assign the service request to. For
example, assign the service request to yourself.

11. Select OK to save and close the service request form.

Approve and complete a service request using


activities
You can use the following procedures to approve a review activity and complete a
manual activity for a service request in the Service Manager console. In many cases,
multiple people or groups must vote to approve a single review activity before its
approval is final. After approval, a service request might need a manual activity
completed to verify that the service was provided to the requesting user and to close
the service request.

7 Note

Users can only approve or reject and close the activities that are assigned to them.

To approve a review activity for a service request


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Work Items, expand Activity Management,
expand Review Activities, and select Activities Assigned to Me.

3. Select a review activity. For example, select the Approval for the user requesting
membership to an Active Directory group.

4. In the Tasks pane, select Approve.

5. In the Comments dialog, enter any comments that you have for the approval or
rejection, and select OK.

To complete a manual activity for a service request


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Work Items, expand Activity Management,
expand Manual Activities, and select Activities Assigned to Me.

3. Select a manual activity. For example, select the Approval for the user requesting
membership to an Active Directory group.

4. In the Tasks pane, select Mark as Completed.

5. In the Comments dialog, enter any comments that you've for the manual activity,
and select OK. For example, enter The Active Directory administrator has added
this user to the groups requested.

Cancel a service request


Occasionally, you might need to cancel a service request in Service Manager. You can
accomplish this by using the Service Manager console. You can use the following
procedure to cancel a service request.

To cancel a service request


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Work Items, expand Service Request Fulfillment,
and select All Open Service Requests or some other service request view.

3. Select the service request that you want to cancel. For example, select Request
Membership to Active Directory Group - Joe Andreshak.

4. In the Tasks pane, select Cancel.

5. In the Comments dialog, enter any comments that you have for canceling the
service request, and select OK. For example, enter This request was a duplicate
and is not needed.

Close a service request


After all the review activities are approved or rejected and any manual activities are
completed, you can close a service request in the Service Manager console. You can use
the following procedure to close a service request.

To close a service request


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, expand Work Items, expand Service Request Fulfillment,
and select Completed Service Requests.

3. Select a completed service request. For example, select Request Membership to


Active Directory Group - Joe Andreshak.

4. In the Tasks pane, select Close.

5. In the Comments dialog, enter any comments that you've for the closure, and
select OK.

Edit a service request


Service requests are often created by end users by accessing the service catalog from
the Self-Service Portal or by submitting email requests, and you might need to update a
service request with additional information. You can use the following procedure to
update a service request in the Service Manager console.

To edit a service request using the Service Manager


console
1. In the Service Manager console, expand Work Items, expand Service Request
Fulfillment, and then select a subnode, such as Assigned To Me.

2. In the list, select a service request to edit, and then in the Tasks pane under
<Service Request ID - Service Request Name>, select Edit. For example, select
Request Membership to Active Directory Group.

3. In the <SR<ID>: ServiceRequestName> form in the Affected user box, select the
user who submitted the service request. For example, select Joe Andreshak.

4. Update any information in the form as necessary, and select OK to close the form.

View service request details


You can use the following procedure to view the details of a service request in the
Service Manager console in System Center - Service Manager.

1. In the Service Manager console, expand Work Items, expand Service Request
Fulfillment, and then select a subnode, such as Assigned To Me.
2. In the list, select a service request to view, and then in the Tasks pane under
<Service Request ID - Service Request Name>, select Edit. For example, select
Request Membership to Active Directory Group.
3. Review information in service request form, and select OK to close the form.

Duplicate or hide views for service requests


You can use the following procedures to duplicate or hide a service request view in the
Service Manager console in Service Manager. You can use the Unhide task if you want to
show the hidden view. You can modify the title or other view criteria using the Edit View
task.

To duplicate a service request view


1. In the Service Manager console, expand Work Items, expand Service Request
Fulfillment, and then select a subnode. For example, select Assigned To Me.
2. In the Tasks pane, select Duplicate View.

3. In the Select management pack dialog, select a management pack to add the new
view information to or create a new one, and select OK.

4. Optionally, you can use the Edit View task to edit the new view, titled <View Name
- Copy>, to change the view name or other criteria of the view.

5. In the Work Items pane, locate the new duplicate view that was created. For
example, select Assigned To Me - Copy.

6. In the Tasks pane, select Edit View.

7. In the Edit Assigned To Me -Copy dialog, select Criteria.

8. In the Criteria area, next to Assigned To User ID, in the text box after equals, enter
[me], and select OK.

To hide a service request view


1. In the Service Manager console, expand Work Items, expand Service Request
Fulfillment, and then select a subnode, such as Closed Service Requests.

2. In the Tasks pane, select Hide View.

Next steps
To help automate the process of updating the status of change requests and the
status propagation between parallel activities, sequential activities, and the
activities within them, see Manage release records.
Manage Service Manager release
records
Article • 03/16/2023

The key to understanding release management in System Center - Service Manager is


realizing how objects, such as change requests and activities, interact when facilitated by
release records. Release management uses parent and child release records to help
automate the process of updating the status of change requests and the status
propagation between parallel activities, sequential activities, and the activities within
them.

Often, there are multiple parts of a project, and there's more than one change request
that can be deployed at different times that can affect a project. The overall goal of
change management and release management is to protect the production
environment from unnecessary changes, so that every change to it must first be
approved. Release management deals only with approved changes.

When changes are approved, it's up to release management processes to group the
changes together, schedule them, and develop them. Depending on the nature of the
change, sometimes development can occur in the project phase and other times it can
occur in the release management phase. Regardless of when development occurs,
release management ensures that changes are tested and that they're safe to deploy.
Additionally, release management is used to evaluate and package various releases
together to help minimize infrastructure downtime. The package of releases is tested
together to verify that no technical or resource conflicts exist that could affect
infrastructure availability. Multiple changes are bundled together and planned for
deployment together during the next scheduled release or maintenance window. The
function of release management using release records is to consolidate multiple
changes and deploy them in the safest and most efficient method possible.

After the changes have been bundled together, a release manager defines the sequence
of actions needed for a release with release activities. For example, different changes
might have infrastructure update tasks, database modification tasks, tasks to update
applications, or other individual tasks. In some cases, it might make sense to group
some tasks together with infrastructure updates or perform database updates or
application updates. Some tasks can be deployed simultaneously, while other tasks must
be deployed sequentially or separately.

Release record process


The release manager or other person responsible for the release defines the sequence
of actions with a release record. The release record might depict the deployment
sequence of different changes using parallel activities, sequential activities, and other
activities. The release manager can delegate the responsibility for activities to others.
When an activity is delegated, the person responsible for the activity can modify the
activity and update its status.

When you modify an activity, its status isn't immediately updated. There's a delay after
until the workflow activates and the activity status is updated. Often, 30 to 60 seconds
might elapse before you see the updated status of the activity in the console after you
refresh your view of an item. Other dependent activities in the release record might take
longer to update. For example, assume that you've a release record containing a dozen
activities. If you update an item near the top of the list, it might take 30 seconds to
update in the console. Then, the next activity in the release record might automatically
get updated 30 seconds later, and so on. Therefore, the update that you originally made
might take some time to propagate to all affected activities in the release record.

Parts of release records


Because releases are often bundled together, you can group multiple release records
together by using a parent-child relationship. Essentially, a parent release record serves
as a container for multiple child release records. However, a newly created release
record isn't a parent release record by default. You must convert a release record to a
parent release record in order to add child release records.

Like change requests, release records contain activities for approval and manual actions.
In addition, release records can contain parallel and sequential activities. Parallel and
sequential activities are containers for other activities, and they define how constituent
activities must be implemented-parallel activities can be implemented simultaneously,
while other parallel activities are also in progress. Sequential activities must be
completed in the order they're organized, one after another.

Sample scenario
This sample scenario for Service Manager helps you achieve your goal of managing
release records by using multiple scenarios end to end. You can think of this sample
scenario as a case study that helps put the individual scenarios and procedures in
context.

Information Technology (IT) managers at Woodgrove Bank administer multiple projects


simultaneously. Usually, IT project teams in the organization don't have access to the
controlled production environment. Additionally, the preproduction environment is
limited with restricted access. The IT organization runs projects, develops financial
applications, and develops infrastructure improvements. When it's necessary to modify
some part of the controlled environment production environment, the IT project team
submits change requests asking to update infrastructure, update an application, deploy
a product, or implement a set of new processes.

Release management starts when there are approved changes. According to company
policies, the changes must be deployed through release management processes. The
release manager, Garret, creates a parent release record, and then he drafts a high-level
diagram of the release and links high-level activities to a change request. The release
activity in a release record is linked to an existing deployment activity in a change
request. Garret or a delegated activity designer then adds child release records and new
activities as necessary to the release record that detail the steps needed to be
completed to deploy the change. This process is repeated for each change request to
allow any level of detail needed. Therefore, any number of change requests can be
included in the release record, depending on the need of the organization. When a
change request is ready for implementation, the change implementer marks
corresponding activities as Completed.

Woodgrove Bank normally deploys updates to its production environment, also called a
release, once a month. Garret wants to package several releases that he defined in the
June release, in the July release, and so on. He defines those releases as parent releases,
and he links all network-related and database-related releases into the June parent
release, and he links an application-related release into the July parent release. He also
adds a new Test Network with Database Integration activity into the June release to
ensure that both subreleases function together.

The next major release for Woodgrove Bank is a deployment of a new version of its
HRWeb web application. HRWeb developers have given the Release Management team
a new build of the HRWeb application. The Woodgrove Release Management team
evaluates the build in its testing environment, finds a critical problem in the build, and
then asks developers to fix the problem and provide a new build. The development
team provides a new build, and the Release Management team successfully retests it in
the test environment. The build then moves to the preproduction environment, where
it's tested and used in the preproduction environment for two weeks. When testing is
completed successfully, the build is deployed to the production environment. During
this process, Garret creates a new build configuration item, links it to the HRWeb
software configuration item, and links the build configuration item to the release record
release package. When the last build is deployed into the production environment,
Garret updates the version information in the HRWeb software configuration item, and
he closes the release record.
At Woodgrove Bank, Garret configures administrative settings for releases, and he
creates a parent release record. He also creates templates for parallel and sequential
activities. Then, Phil creates release records, based on the templates that Garret created.
Phil chooses which changes to deploy, and then he updates release activities by adding,
deleting, or modifying them for each release, as necessary. Garret configures
notifications for release records to notify users. Garret and Phil can review the status and
the progress of change requests for a release whenever they need to.

Create a release record


The Release Manager creates a release record in Service Manager using the following
procedure.

To create a release record


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.
2. In the Tasks pane, select Create Release Record.
3. In the Select Template dialog, select a release record template, and select OK to
open it.
4. In the release record form on the General tab, enter any necessary information,
and select the Activities tab.
5. Modify the default set of release activities that are added from the release record
template, if any, are present. You can add, delete, or modify sets of activities to the
release record, including the following actions:

Add activities from the list of existing activity templates.


Move activities up and down in the order in which they're completed.
Move activities in the process list, and place them inside container activities.
Move activities from container activities, and place them anywhere in the
process list.
Delete activities.

6. As you add an activity, the activity form opens. Enter necessary information, and
select OK to save the activity.
7. When you've added all the activities you want, select OK to save the release record
and close it. The release record then appears in the Release Records: All view.

Create a release record template


A release record template is used to create new release records. A release record
template can include predefined release activities. When you use a template for new
release records, new release records are created faster than when you create them from
scratch.

The template author creates a template for release records by completing the following
procedure.

To create a release record template


1. In the Service Manager console, open the Library workspace, and in the Library
pane, select Templates.
2. In the Templates list, select Default Release Record, and then in the Tasks pane
under Templates, select Create Template.
3. In the Create Template dialog, enter a name for the template and a description of
what the template applies.
4. Under Class, select Browse, and in the Select a Class box, select Release Record,
and select OK to close the Select a Class box.
5. Select OK to close the Create Template dialog, and the New Release Record
Template form appears.
6. Enter information in the boxes on the General tab, and select the Activities tab.
7. You can add, delete, or modify sets of activities to the release record template,
including the following actions:

Add activities from the list of existing activity templates.


Move activities up and down in the order in which they're completed.
Move activities in the process list, and place them inside container activities.
Move activities from container activities, and place them anywhere in the
process list.
Delete activities.

8. As you add an activity, the activity form opens. Enter the necessary information,
and select OK to save the activity.
9. When you've added all the activities you want, select OK to save the release record
template and close it. The release record template then appears in Templates list.

Combine release records into parent-child


groups
Releases are normally deployed to production environments at intervals you define. For
example, you can package several releases into monthly batches. You can define each
batch as a parent release, which consolidates and links other smaller project-specific
releases into a monthly package. This process can help you verify that all child releases
are evaluated together.

Promote a release record


The Release Manager can promote a release record to parent release record using the
following procedure. A parent release record serves as a container for several releases.

The following procedure is performed on a release record that is neither a parent


release record nor a child release record.

To promote a release record to a parent release record


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.
2. Select any Release Management view, and then select a release record.
3. In the Tasks pane, select Edit to open the release record.
4. In the Tasks pane, select Convert or Revert to Parent.
5. In the Comments box, enter a comment indicating that you've converted the
release record to a parent release record, and select OK to close the Comments
box.
6. The Child Items tab appears in the form where you can add child release records.
7. In the release record form, select OK to close it.

Demote a parent release record


The Release Manager can demote a parent release record using the following
procedure. If a parent release record contains child release records, all the child release
records that it contains are unlinked from the parent and are no longer child release
records.

The following procedure is performed on a parent release record that may or may not
have child release records linked to it.

To demote a parent release record


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.
2. Select any Release Management view that contains a parent release that you want
to demote, and then select the release record.
3. In the Tasks pane, select Edit to open the release record.
4. In the Tasks pane, select Convert or Revert to Parent.
5. If the release record that you're demoting contains child release records, a
message appears stating that all links to child records will be removed. If so, select
OK to unlink any child release records.
6. In the Comments box, enter a comment indicating that you've reverted the release
record from a parent release record, and select OK to close the Comments box.
7. The Child Items tab no longer appears in the form.
8. In the release record form, select OK to close it.

Link a child release record


The Release Manager can link a child release record while editing a parent release
record using the following procedure.

To link a child release record to the current parent release record

1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.
2. Select any Release Management view that contains a parent release record where
you want link to a child release record.
3. In the Tasks pane, select Edit, and then in the parent release record form, select the
Child Items tab.
4. On the Child Items tab, select Add.
5. In the Select objects dialog, select the release record that you want to link to a
parent, and select Add. Select OK to close the Select objects dialog.
6. In the parent release record form, select OK to close it.

Unlink the current release record


The Release Manager can unlink a child release record using the following procedure.

To unlink the current release record from a parent release record

1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.
2. Select any Release Management view that contains a child release record that you
want to unlink from its parent release record.
3. In the Tasks pane, select Link or Unlink to Existing Parent Release Record, and
then in the fly-out list, select Unlink.
4. In the Comments box, enter a comment indicating that you've unlinked the child
release record from its parent release record, and select OK to close the
Comments box.

Unlink a child release record from the current release


record
The Release Manager can unlink a child release record while editing a parent release
record using the following procedure.

To unlink a child release record from the current parent release


record

1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.

2. Select any Release Management view that contains a parent release record where
you want unlink to a child release record.

3. In the Tasks pane, select Edit, and then in the parent release record form, select the
Child Items tab.

4. On the Child Items tab, select the child release records to unlink, and select
Remove.

7 Note

You can select multiple child items by pressing Shift+Click.

5. In the parent release record form, select OK to close it.

Define release package configuration items


Release packages normally contain a build and an environment that the release is tested
with. The sections in this article describe how to build the configuration item parts that
are contained in a release package and how they're added to the release package.

Create a build configuration item


The release manager can create a build configuration item that defines the software and
version that a build consists of by performing the following procedure. After a build is
created, it's normally added to the release package of a release record.

To create a build configuration item


1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Configuration Items, and select Builds.
3. In the Tasks pane, under Builds, select Create Build.
4. On the General tab in the form, do the following:
a. In the Title box, enter a name for the build. For example, for the build that will
be used to deploy the new HRWeb software, enter HRWeb July 2017.
b. In the Version box, enter a version number or other designation. For example,
enter 0.2.
c. Select OK.
5. On the Related Items tab, under Configuration Items: Computers, Services and
People, select Add to associate a software configuration item, and then do the
following for each software item that you want to add:
a. In the Select objects dialog under Filter by class list, select the dropdown arrow,
and then select Software Items.
b. In the Available objects list, select the software configuration item that you
want to associate with the build, select Add, and select OK to close the Select
objects dialog.
6. Select OK to close the build form.

Create an environment configuration item


The release manager can create an environment configuration item that defines the
computers, services, and people that the environment consists of by performing the
following procedure. After an environment is created, it's normally added to the release
package of a release record.

To create an environment configuration item


1. In the Service Manager console, select Configuration Items.
2. In the Configuration Items pane, expand Configuration Items, and select
Environments.
3. In the Tasks pane, under Environments, select Create Environment.
4. On the General tab in the form, do the following:
a. In the Title box, enter a name for the environment. For example, for the pre-
environment that will be used to test the new HRWeb software, enter
Environment for HRWeb July 2011.
b. Optionally, in other boxes on the tab, enter or select information that might
help you easily identify the environment that you're creating. For example, set
the Category to Pre Production.
c. Select OK.
5. On the Related Items tab, under Configuration Items: Computers, Services and
People, you can add configuration items that are important to the environment.
Examples might include the following:

Software
Users
Computers

6. Select OK to close the environment form.

Add release package information to a release record


The Release Manager can add release package information for a release record using
the following procedure. The release package normally contains the build and
environment that the release is tested with.

To add release package information to a release record

1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management.
2. Select any Release Management view that contains a release record where you
want to add release package information.
3. In the Tasks pane, select Edit, and then in the release record form, select the
Release Package tab.
4. On the Release Package tab, under Configuration Items to Modify, select Add.
5. In the Select objects dialog, select the computer-related configuration items that
you want to add to the release package, select Add, and select OK to close the
Select objects dialog.
6. Under Affected Services, select Add.
7. In the Select objects dialog, select the business service items that you want to add
to the release package and select Add, and select OK to close the Select objects
dialog.
8. In the release record form, select OK to close it.

Create a template for parallel and sequential


activities in Service Manager
Release record templates for parallel and sequential activities are used to create new
activities that contain a collection of predefined activities that should be grouped
together to form some kind of process. You can think of parallel and sequential activities
as container activities because their primary function is to contain individual activities.

The template author creates a template for a parallel activity by performing the
following procedure. Afterward, the same steps are followed to create a template for a
sequential activity.

To create a template for a parallel activity


1. In the Service Manager console, open the Library workspace, and in the Library
pane, select Templates.
2. In the Templates list, select Default Parallel Activity, and then in the Tasks pane
under Templates, select Create Template.
3. In the Create Template dialog, enter a name for the template and a description of
what the template applies.
4. Under Class, select Browse, in the Select a Class box, select Parallel Activity, and
select OK to close the Select a Class box.
5. Select OK to close the Create Template dialog, and the New Container Activity
Template form appears.
6. Enter information in the boxes on the General tab, and select the Activities tab.
7. You can add, delete, or modify sets of activities to the parallel activity template,
including the following actions:
a. Add activities from the list of existing activity templates.
b. Add parallel or sequential activities from the list of existing activity templates.
c. Move activities up and down in the order in which they're completed.
d. Move activities in the process list.
e. Delete activities.
8. As you add an activity, the activity form opens. Enter the necessary information,
and select OK to save the activity.
9. When you've added all the activities you want, select OK to save the parallel
activity template and close it. The parallel activity template then appears in
Templates list.
10. Repeat this procedure for a sequential activity, replacing instances of parallel
activity with sequential activity.

Choose changes to deploy in Service Manager


The release manager selects approved changes for release by performing the following
procedure. Using this process, the release manager links a manual activity in the release
record to a dependent activity in a change request and then completes the manual
activity in the release record. As a result, this process marks the dependent activity in the
change request as completed.

The procedure to create a dependent activity to add it to a change request should


already be completed before you proceed.

To choose changes to deploy


1. In the Service Manager console, open the Work Items workspace, in the Work
Items pane, expand Release Management, and then select Release Management.

2. In the Work Items pane, select a view under Release Management that displays a
release record that comprises changes that are ready for deployment, and then
double-click the release record.

3. Select the Activities tab.

4. In the list that appears, right-click a manual activity to link a change request
dependent activity to, and then select Link to Change Request Activity.

5. In the Select Change Request Activity dialog, select the change request to link to,
expand it, and then select one or more dependent activities, and select OK twice.

 Tip

When you've linked the activity, the selected activity shows a linking indicator
that resembles a chain icon. The tooltip for the selected activity shows IDs for
the linked change request dependent activities.

6. Navigate to Activity Management, expand Manual Activities, and then select In-
Progress Activities.

7. Select the manual activity and then in the Tasks list, select Mark as Completed.

8. Navigate to Change Management, expand All Change Requests, and then open
the change request that is linked to the release record.

9. Select the Activities tab and notice that the dependent activity is now marked
Completed.
Plan release activities in Service Manager
The Release Manager creates and modifies the structure of release activities by
performing the following procedure.

To plan release activities


1. In the Service Manager console, open the Work Items workspace, and in the Work
Items pane, expand Release Management, and then select Release Management.
2. In the Work Items pane, select a view under Release Management that displays a
release record that includes release activities that you want to add or modify
activities for, and then double-click the record to open it.
3. Select the Activities tab to view the list of proposed changes and dependent
activities they contain.
4. Optionally, you can change the activities view by selecting either Diagram View or
List View.
5. Select a dependent change management activity, and then move it to the top of
release management activity list or diagram. A dependent indicator appears on
release management activities, which resembles the link in a chain.

Skip a failed activity in Service Manager


The release manager skips a failed activity by performing the following procedure.

To skip a failed activity


1. In the Service Manager console, open the Work Items workspace, in the Work
Items pane, expand Release Management, and then select Release Management.
2. In the Work Items pane, select a view under Release Management that displays a
release record that includes a failed release activity or an activity in progress that
you want to skip, and then double-click the record to open it.
3. Select the Activities tab to view the list of proposed changes and dependent
activities they contain. Optionally, you can change the activities view by selecting
either Diagram View or List View.
4. Right-click the failed activity or the activity in progress that you want to skip, and
select Skip Activity.
5. In the Comments box, enter the reason why you're skipping the activity, and select
OK to close the box. The activity that you skipped displays an icon resembling a
blue down-pointing arrow to indicate that the activity is marked as skipped.
Determine status and progress for a Service
Manager change request in the release record
The change manager reviews the status and progress of a change request in the
currently opened release record. They know the ID of the change request and its title, or
at least a few of the keywords of the title. They can review the status of the change
request by performing the following procedure.

To determine status and progress for a change request in


a release record
1. In the Service Manager console, open the Work Items workspace, in the Work
Items pane, expand Release Management, and then select Release Management.
2. In the Work Items pane, under Release Management, select the Release Records:
In Progress.
3. In the Release Records: In Progress view, double-click the record of interest to
open it.
4. Select the Activities tab to view the list of proposed changes and dependent
activities they contain. Optionally, you change the activities view by selecting either
Diagram View or List View.
5. You can view records by using any of the following methods:

Mouse scrolling:
You can find the release management activity showing that it's linked to
the specific change request by looking for an indicator icon and viewing its
properties while in either diagram view or list view.
The following information is shown for all activities:
Activity IDs
Activity titles
Activity status indicator icons, which vary based on the state of the
activity
Using the diagram view:
When you're using the diagram view, you can use Zoom to choose
different for activities.
Using search anywhere in the Service Manager console:
You can search for and view an activity by searching with any of the
following information:
Change request ID
Keywords from the linked change request's title
Change activity's ID
Keywords from the dependent activity's title
Filtering:
You can filter any returned search results by keywords and also by
criteria such as class, last modified dates, and name.

6. You can double-click an activity to view its status and the details of its progress.

Next steps
To learn about how Service Manager reports enable you to collect and view data
and trends from across the business environment, read Data warehouse reporting
and analytics.
Data warehouse reporting and analytics
in Service Manager
Article • 03/16/2023

Service Manager reports enable you to collect and view data and trends from across the
business environment. For example, you can generate a report that shows the number
of incidents that occur in a specific time frame. You can then use that information to
calculate the cost of each incident (in hours) and also to identify any trends and take
preventative measures to reduce the cost and occurrence of incidences.

Standard reports are viewable for all Service Manager console users in the Reporting
workspace. If users can view work items and have permission to the SystemCenter and
ServiceManager folders on the SQL Server Reporting Services (SSRS) server, they can
also view reports in work item task lists. Any user can export report data from a report
they view. Exported reports are saved in various file formats.

Overview
The data warehouse in Service Manager provides three primary functions:

1. Offload data from the main Service Manager database to improve performance of
the Service Manager database

2. Long-term data storage

3. Provide data for reports

The data warehouse that ships with Service Manager is actually its own management
group. It has essentially all the System Center common platform pieces that are present
in other System Center components, such as System Center - Operations Manager.
These components are built on the common platform, which in turn consists of the
following:

A model-based database for storing configuration information about the data


warehouse and for staging the data after it has been extracted from the Service
Manager database. In the data warehouse management group, this instance of the
mode-based database is named DWStagingAndConfig.

The management server, which consists of the following:

System Center Data Access service


Microsoft Monitoring Agent

System Center Management Configuration service

In addition to its base that is built on the System Center common platform, the
Service Manager data warehouse has two other databases:

DWRepository-where the transformed data is stored and optimized for reporting


purposes.

DWDataMart-where the transformed data is loaded and where, ultimately, reports


query from.

The data warehouse was designed to:

Be fully extensible by means of management packs.

Utilize data warehousing best practices, such as dimensional modeling with facts
and dimensions.

Operate at very large scale.

The data warehouse in Service Manager was designed and built with the intention
of being a platform component that enables System Center users to collocate data
from all System Center products to gain comprehensive insight across their
information technology (IT) investments.

The difference between OLTP and OLAP (performing vs.


analyzing transactions)
Online transaction processing (OLTP) systems are designed for fast writes against small
units of work-for example, for the fast creation of a single incident. In contrast, online
analytical processing (OLAP) data warehouses are designed to facilitate fast analysis
across large sets of data-for example, quickly determining service level agreement (SLA)
adherence across all incidents created in the last year.

Data warehouse and analytics elements


The data warehouse and analytics elements of Service Manager consist of the System
Center common model, data warehouse databases, OLAP cubes, management pack
orchestration processes, and the Service Manager software development kit (SDK). The
following sections describe each of these elements in further detail.
System Center Common Model and data warehouse
database schema
Diagrams that represent the System Center common model and the data warehouse
database schema are available for Service Manager. The database schema is based on
the common management pack model, which means the relational database objects
and relationships benefit from class inheritance.

If you aren't familiar with developing management packs, writing custom queries
against the data warehouse can be intimidating. However, the schema diagrams are
useful to help get you started. You can download the Visio diagrams,
SystemCenterCommonModel-SCSM2010.vsd and DWDataMart.vsd, as part of the
Service Manager Job aids (SM_job_aids.zip). The different types of tables in the data
warehouse are color coded in the schema diagram.

Data warehouse databases


The data warehouse in Service Manager comprises the following databases:

DWStagingAndConfig-where data is extracted from source systems, such as


Service Manager and Operations Manager, is initially stored.

DWRepository-where extracted source data is transformed into the reporting


optimized structure.

DWDataMart-where published data is stored and gets consumed by the reports.


This is also where data is stored for an extended period of time to facilitate
historical reporting and analysis.

OLAP cubes
As mentioned previously, an OLAP cube is used for online analytical processing, and it's
a data structure that provides fast analysis of data. You can think of it as helping
manipulate and analyze data from multiple perspectives. The cube data structure can
help overcome some limitations of relational databases.

Service Manager includes a number of predefined OLAP cubes that users can view in
Microsoft Excel and also as SharePoint dashboards. Authors can create their own OLAP
cubes for customized data sources and include the cubes in custom management packs.

Software Development Kit (SDK)


The Service Manager SDK contains information that you might need when you're
authoring with Service Manager to extend the data warehouse so that it can manage
your own customized data. Before you can utilize the capabilities of the data warehouse,
such as OLAP cube processing for customized data, you must first create a custom
management pack and import it. Your custom management pack bundle will contain a
definition for your data model and, possibly, OLAP cube definitions.

Next steps
You can learn more about using the SDK to create your own custom management
pack for Service Manager in the Authoring Guide for System Center 2016 - Service
Manager.
Learn about using standard reports.
Use and manage standard reports in
Service Manager
Article • 03/16/2023

This article describes how to use standard reports in Service Manager.

The simple reporting infrastructure that is included in Service Manager is built on


SQL Server Reporting Services (SSRS), where data is accessed from the Service Manager
data warehouse. The SSRS infrastructure provides for basic reporting functionality, such
as report-level security, report subscriptions, browser-based access to reports, linked
reports, and customization. This reporting functionally is similar to the experience that is
included with System Center Operations Manager.

The Reporting workspace contains the catalog of reports that users can run on demand.
Reports are viewable for all Service Manager console users. If users can view work items
and have permission to the SystemCenter and ServiceManager folders on the SSRS
server, they can also view reports in work item task lists. Like in Operations Manager,
you can run a report in context. For example, you can select a computer in a view in the
console and then run the Computer Details report about that computer. Any user can
export report data from a report they view. Exported reports are saved in various file
formats.

For more information about SSRS, see SQL Server Reporting Services. If you want to see
the relationship between high-level processes and services that are involved between
Service Manager and SSRS, refer to the Service Manager architecture diagram
(ArchitectureDiagram.vsd) that is included in the Service Manager job aids
(SM_job_aids.zip). Because the architecture diagram is too large to see properly in this
guide, you can download it and the other jobs aids from the Microsoft Download
Center .

View the standard report catalog


You can use the following procedure to view the catalog of reports that is available in
Service Manager.

To view the report catalog


1. In the Service Manager console, select Reporting.

2. Expand Reports, and select a folder. For example, select Incident Management.
The reports that are available appear in the results pane of the Report console.

Add permissions for standard reports


By default, all System Center - Service Manager users have access to reports through the
Reporting workspace. However, before users who don't have administrator permissions
can view the Reporting workspace, you must add permissions through SQL Server
Reporting Services (SSRS).

You can grant access at the root level, which enables a user to view the Reporting
workspace and all the reports in Service Manager. You can also grant restricted access to
specific report folders, such as the Incident report folder, or to individual reports.

The following procedure describes how to grant SSRS access for all the Service Manager
reports to an Active Directory group (woodgrove\SCSMReportAccess).

To add SSRS permissions


1. On the computer on which SRSS is installed, start Report Manager. For example,
open http://ReportServerName:80/Reports .

2. Locate the folder or report for which you want to grant access permission. For
example, locate the SystemCenter and ServiceManager root folders.

3. Select Security.

4. Select Edit Item Security.

5. The following message appears: Item security is inherited from a parent item. Do
you want to apply security settings for this item that are different from those of
the Home parent item?

Select OK.

6. Select New Role Assignment.

7. Enter the name of the Active Directory group or user in the Group or user name
box. For example, enter woodgrove\SCSMReportAccess.

8. Set the roles for the group or user. Select the Browser checkbox to grant access to
run reports.

9. Select OK.
Run a standard report
You can use the following procedure to run a report in Service Manager. In this
procedure, you run an incident management report to determine how many incidents
were resolved in the previous week.

7 Note

Before you can run a report, the extract, transform, and load (ETL) process must be
complete. For more information about the ETL process and about how to schedule
it to run, see How to Enable Data Warehouse Jobs Schedules.

The Service Manager data warehouse doesn't create dimensions for classes or
relationships in unsealed management packs. If you're using an unsealed
management pack, you won't see any data from that management pack in your
reports. Because of this, the best practice is to model all classes and relationships in
sealed management packs.

For this example, you must have previously created an incident. Otherwise, the
report will return no data.

To run a report
1. In the Service Manager console, select Reporting.

2. Expand Reports, and then expand a report folder. For example, expand Incident
Management.

3. Select the name of the report you want to run. For example, select the List of
Incidents report.

4. In the Tasks list, select Run Report.

5. Select Parameter Control Header to display the parameter controls for the report.
Use these parameters to customize the report.

Each report has a set of parameters you can use to search and filter for the specific
items you want to include in the report. For example, in the List of Incidents
report, you can set the following parameters:

Date Filter. You can search by the date the incident was created, by the date
it was resolved, or by the date it was closed.
Assigned To

Priority

ID

Description

Resolution Description

Contact Method

Source

Status

Classification Category

Support Group

Urgency

Impact

Resolution Category

6. In the Start Date list, select the date one week before the current date (today), and
select anywhere in the form.

7. Optionally, specify other criteria that you want to filter.

8. In the Tasks list, select Run Report.

9. In the report, review the data to ensure the incident information that you want to
view is displayed. If you don't see the information you expect, revise the criteria,
and then run the report again by selecting Run Report.

In reports that show lists or additional detail, such as the associated subreports in
the List of Incidents report, you might see multiple rows that contain the same
information. This is because an instance can have multiple types; for example, a
computer is a Computer, a Windows Computer, and a Managed Windows
Computer. The level of detail for these reports is per type per instance. Therefore,
these multiple types result in multiple rows.

7 Note
If there is no data in the report, ensure that the ETL process is complete. A
delay might occur between the start of the process and when data is available
for reports.

Export standard report data


You can use the following procedure to export a report into several different types of
files so that you can use the data from the reports in different tools. For example, you
can export the report data into a comma-separated value (CSV) file and then import it
into Microsoft Office Excel.

To open the report and then export the report data


1. In the Service Manager console, select Reporting.

2. Expand Reports, and select any view. For example, select Incident Management.

3. In the Incident Management view, select the List of Incidents report, and then in
the Tasks list, select Run Report.

4. Select Parameter Control Header to display the parameter controls for the report.
Use these parameters to customize the report.

5. In the Start Date list, select the date one week before the current date (today), and
then select anywhere in the form.

6. Optionally, specify other criteria that you want to filter.

7. In the Tasks list, select Run Report.

8. In the List of Incidents report, review the data to ensure the incident information
that you want to view is displayed. If you don't see the information you expect,
revise the criteria, and then run the report again by selecting Run Report.

9. Select the Export icon, and then select the format in which you want to save the
report. In the list, select one of the following:

XML file with report data

CSV (comma delimited)

Acrobat (PDF) file

MHTML (web archive)


Excel

TIFF file

Word

10. Save the file to the desktop with a file name of your choice, and then close the
report form.

Create a standard linked report


You can use the following procedure to create a linked report.

A linked report is a shortcut to a report—it's similar to a program shortcut on your


desktop. A linked report is derived from publicly defined reports from any management
pack. A linked report retains some of the original report's properties, such as the report
layout. Other properties of the linked report, such as parameters and subscriptions, can
be different from the original report.

To create a linked report


1. In the Reporting view, select the report you want to use as the basis for the linked
report, and then, in the Tasks pane, select Run Report.

2. In the Report window, select Save as Linked Report in the Task pane.

3. Enter a name and an optional description for the new linked report.

4. Select a management pack for the linked report.

5. Select Select Folder, and select the folder in which you want to save the report.

6. Select OK.

7. Close the report.

After the next data warehouse synchronization, the new linked report is displayed
in the folder where you saved it. For information about scheduling a data
warehouse synchronization job, see How to Schedule a Data Warehouse Job.

7 Note

You might have to close and reopen the console after the synchronization job is
complete to see the report.
Add a standard report to the Favorite Reports
folder
You can use the following procedure to add a report to the Favorite Reports folder in
Service Manager.

After you've run several reports and determined the best parameters to use to
customize the report contents, you can save a report to the Favorite Reports folder. This
enables you to run the report directly from the Reporting view without having to specify
parameters.

To save a report to the Favorite Reports folder


1. In the Reporting view, select the report that you want to use as the basis for the
saved report, and then, in the Tasks pane, select Run Report.

2. In the report window, select Save as Favorite Report under Tasks.

3. Enter a name for the report, and select OK.

4. Close the report window.

5. In the Reporting navigation tree, select Favorite Reports.

The new report is displayed.

Configure standard report subscriptions


You can set up subscriptions to your reports in Service Manager through SQL Server
Reporting Services (SSRS) Report Manager. Configuring a subscription to a report
enables you to automate the delivery of a report. Report subscriptions can be sent
through email, stored on the report server, or even posted to a Microsoft SharePoint
site.

To create report subscriptions


Complete the procedures in the Subscriptions and Delivery (Reporting Services)
article.

Schedule a standard report


In Service Manager, you can schedule a linked report to run regularly to ensure that the
information is up to date. To do this, use SQL Server Reporting Services (SSRS) Report
Manager. In SSRS Report Manager, you can schedule reports to run one time or on a
continuous basis at intervals of hours, days, weeks, or months. You can do the following:

Schedule report delivery in a standard or data-driven subscription.

Schedule report history so that new snapshots are added to the report history at
regular intervals.

Schedule time to refresh the data of a report snapshot.

Schedule the expiration of a cached report to occur at a predefined time so that it


can be refreshed later.

To configure a schedule for a report, complete the procedure in the Scheduling


Reports, Shared Datasets, and Subscriptions.

Add non-Service Manager reports to the report


catalog
You can display SQL Server Reporting Services (SSRS) reports from any source using the
Reporting workspace in the Service Manager console. The Reports workspace in Service
Manager displays the folders and reports that are contained in the System
Center\Service Manager folder on the SSRS server. Therefore, you can add any reports
that you want to the folder. For example, you might have a financial report that you
want to view from the Reporting workspace.

To add a custom report to the report catalog


1. On the server that hosts SSRS, open Report Manager. For example, open
http://ReportServerName:80/Reports .

2. Navigate to the System Center\ServiceManager reports folder, create a new folder,


and give it a name. For example, name the folder Financial Management.

3. In the new folder, select New Data Source, and then add the data source of the
new report.

4. Add the new report that uses the new data source.

5. Open the Service Manager console, select the Reporting workspace, and then
navigate to the folder that contains the report.
6. In the Tasks pane, select Run Report.

Standard reports available in Service Manager


The following reports are available in Service Manager.

Report area Report Description


name

Activity List of Provides a list of activities within a certain time frame that meet
management Activities the specified criteria. The data in the report includes the type of
activity, the current status, and the priority.

Activity List of Provides a list of all the manual activities within a certain time
management Manual frame that also meet the specified criteria. The data in the report
Activities includes the current status, stage, priority, and user to whom the
activity is assigned.

Activity List of Review Provides a list of all the review activities within a certain time
management Activities frame that meet the specified criteria. The data in this report
includes the current status, stage, approval condition, and
approval threshold.

Activity Manual Provides detailed information about a specific manual activity,


management Activity Detail including the title, description, status, and affected customers.

Activity Review Provides detailed information about a specific review activity,


management Activity Detail including the title, description, status, reviewers, and approval
condition.

Activity Activity Provides the number of activities during a specified time frame.
management Distribution The data in this report includes the activity status, type, and
stage. You can filter the data by status, stage, or type.

Change Change Provides the number and current state (in progress, completed,
management Management failed, or canceled) of change requests during a specified time
KPI Trend frame. You can filter the data returned in this report by day, week,
month, quarter, or year.

Change List of Provides a list of change requests within a certain time frame.
management Change The data in this report includes the current status, category, and
Requests user to whom the request is assigned.

Change Change Provides detailed information about a specific change request,


management Request including the title, description, status, change creator, and
Detail template.

Configuration Computer Provides detailed configuration information for a specific


management Detail computer.
Report area Report Description
name

Configuration Computer Provides a list of computers available in the management group.


management Inventory Note: The Computer Inventory report might contain more total
computers than actually exist in a single Service Manager
management group. This situation is uncommon but possible
when you've more than one management group share a data
warehouse. More specifically, if you manually create a computer
in one management group and manually create a computer with
the same name in another management group, the data
warehouse can't reconcile the two manually-created computers.
Because this situation doesn't occur when computers are
discovered by a connector, you can avoid multiple computers
appearing in the report by deleting the manually-created
computer configuration item and then discover it by using a
connector.

Configuration Software Provides detailed information for software update compliance.


Management Update You can filter this data by classification or category, and by day,
Compliance week, month, quarter, or year.
Trend

Incident Incident Provides key performance metrics for a specified analyst. The
management Analyst data in this report includes the number of incidents assigned to
the analyst, the number of incidents resolved by the analyst, the
number of incidents worked on by the analyst, and any labor
logged against an incident.

Incident Incident Provides detailed information for a specific incident, including


management Details the title, description, classification, affected services, affected
configuration items, and related activities.

Incident Incident KPI Provides the number of incidents, including the number of
management Trend incidents past their targeted resolution time, the number of
escalated incidents, the average time to resolution, the labor
minutes per incident, and the size of the incident backlog. You
can filter this data by classification or category, and by day, week,
month, quarter, or year.

Incident Incident Provides the number of incidents, including the number of


management Resolution incidents past their targeted resolution time and the average
time to resolution. You can filter the data by day, week, month,
quarter or year.

Incident List of Provides a list of all incidents within a certain time frame. The
management Incidents data in this report includes the users to whom incidents are
assigned, when the incidents were created, and the current status
of the incidents.
Report area Report Description
name

Problem Configuration Provides a list of the configuration items that have at least the
management Items (CIs) number of incidents associated with them, as specified by the
with Most value you enter for Incidents per Configuration Item during the
Incidents specified time frame. This report also includes the number of
change requests and problems associated with the specific
configuration item.

Problem List of Provides a list of all problems within a certain time frame.
management Problems

Problem Problem Provides detailed information for a specific problem.


management detail

Release List of Provides a list of all release records within a certain time frame.
management Release
Records

Release Release Provides detailed information for a specific release record.


management Record Detail

Service Service KPI Provides key metrics across services, groups and collections for
Management Trend Service Manager, Operations Manager, and Configuration
Manager. This report enables trending and flexible grouping.

Service Service Provides a scorecard-like report that includes a comprehensive


Management Summary view of the health of a service, including period-over-period
analytic capabilities.

Next steps
To learn about data that is present in the data warehouse by using predefined and
customized Microsoft Online Analytical Processing (OLAP) data cubes, read
Overview of OLAP cubes for advanced analytics.
Overview of Service Manager OLAP
cubes for advanced analytics
Article • 03/16/2023

In Service Manager, data that is present in the data warehouse can be consolidated from
various sources. It's presented through Service Manager by using predefined and
customized Microsoft Online Analytical Processing (OLAP) data cubes. In short,
advanced analytics in Service Manager consist of publishing, viewing, and manipulating
cube data, usually in either Microsoft Excel or Microsoft SharePoint. Excel is primarily
used by itself to view and manipulate data. SharePoint is used primarily as a means of
publishing and sharing cube data.

Service Manager includes a System Center-wide data warehouse. Therefore, data from
Operations Manager, Configuration Manager, and Service Manager can be consolidated
into the data warehouse, where you can easily use multiple data views to get any
information that you might want. This is also an interface where you can put data into
the same data warehouse from your own custom sources, such as SAP applications or a
third-party human resources application. This consolidation creates a common data
model and enables enriched analyses to help you build a data warehouse across your
Information Technology (IT) organization that can serve all your business intelligence
and reporting needs.

When your data is in a common model, you can manipulate information and have
common definitions and a common taxonomy for your whole enterprise. You can do
this by deploying OLAP data cubes and accessing the information from the cubes, using
standard tools such as Excel and SharePoint. This makes it possible for your users to
employ skills that they already know. You control the definition of your business logic in
a centralized manner. For example, you can define key performance indicators, such as
the incident time-to-resolution thresholds, and which values for the thresholds are
green, yellow, or red. You can control these choices in a centralized manner and
empower your users to easily use the data, yet have the common definition appear in
their Excel reports or their SharePoint dashboards.

About Service Manager OLAP cubes


Online analytical processing (OLAP) cubes are a feature in Service Manager that use the
existing data warehouse infrastructure to provide self-service business intelligence
capabilities to end users.
An OLAP cube is a data structure that overcomes the limitations of relational databases
by providing rapid analysis of data. Cubes can display and sum large amounts of data
while also providing users with searchable access to any data points. This way, the data
can be rolled up, sliced, and diced as needed to handle the widest variety of questions
that are relevant to a user's area of interest.

Software vendors or information technology (IT) developers with a working knowledge


of OLAP cubes can create management packs to define their own extensible and
customizable OLAP cubes that are built on the data warehouse infrastructure. These
cubes are stored in SQL Server Analysis Services (SSAS). Self-service business
intelligence tools such as Excel and SQL Server Reporting Services (SSRS) can target
these cubes in SSAS, and you can use them to analyze the data from multiple
perspectives.

The databases that a business uses to store all its transactions and records are called
online transaction processing (OLTP) databases. These databases usually have records
that are entered one at a time and that contain a wealth of information that can be used
by strategists to make informed decisions about their business. The databases that are
used to store the data, however, weren't designed for analysis. Therefore, retrieving
answers from these databases is costly in terms of time and effort. OLAP databases are
specialized databases that are designed to help extract this business intelligence
information from the data.

OLAP cubes can be considered as the final piece of the puzzle for a data warehousing
solution. An OLAP cube, also known as multidimensional cube or hypercube, is a data
structure in SQL Server Analysis Services (SSAS) that is built, using OLAP databases, to
allow near-instantaneous analysis of data. The topology of this system is shown in the
following illustration.

The useful feature of an OLAP cube is that the data in the cube can be contained in an
aggregated form. To the user, the cube seems to have the answers in advance because
assortments of values are already precomputed. Without having to query the source
OLAP database, the cube can return answers for a wide range of questions almost
instantaneously.
The main goal of Service Manager OLAP cubes is to give software vendors or
information technology (IT) developers the ability to perform near-instantaneous
analysis of data for both historical analysis and trending purposes. Service Manager
does this by:

Allowing you to define OLAP cubes in management packs that will be created
automatically in SSAS when the management pack is deployed.
Automatically maintaining the cube without user intervention, performing such
tasks as processing, partitioning, translations and localization, and schema
changes.
Allowing users to use self-service business intelligence tools, such as Excel, to
analyze the data from multiple perspectives.
Saving generated Excel reports for future reference.

To see how data warehouse cubes are represented in the Service Manager console,
navigate to the Data Warehouse workspace, and select Cubes.

Service Manager OLAP cubes


The following illustration shows an image from SQL Server Business Intelligence
Development Studio (BIDS) that depicts the main parts that are required for online
analytical processing (OLAP) cubes. These parts are the data source, data source view,
cubes, and dimensions. The following sections describe the OLAP cube parts and the
actions that users can take using them.
Data source
A data source is the origin of all the data that is contained within an OLAP cube. An
OLAP cube connects to a data source to read and process raw data to perform
aggregations and calculations for its associated measures. The data source for all Service
Manager OLAP cubes is the data marts, which includes the data marts for both
Operations Manager and Configuration Manager. Authentication information about the
data source must be stored in SQL Server Analysis Services (SSAS) to establish the
correct level of permissions.

Data source view


The data source view (DSV) is a collection of views that represent the dimension, fact,
and outrigger tables from the data source, such as the Service Manager data marts. The
DSV contains all the relationships between tables, such as primary and foreign keys. In
other words, the DSV specifies how the SSAS database will map to the relational
schema, and it provides a layer of abstraction on top of the relational database. Using
this layer of abstraction, relationships can be defined between fact and dimension
tables, even if no relationships exist within the source relational database. Named
calculations, custom measures, and new attributes may also be defined in the DSV that
may not natively exist in the data warehouse dimensional schema. For example, a
named calculation that defines a Boolean value for Incidents Resolved calculates the
value as true if an incident's status is resolved or closed. Using the named calculation,
Service Manager can then define a measure to display useful information such as the
percentage of incidents resolved, the total number of incidents resolved, and the total
number of incidents that aren't resolved.

Another quick example of a named calculation is ReleasesImplementedOnSchedule. This


named calculation provides a quick health status check on the number of release
records in which the actual end date is less than or equal to the scheduled end date.

OLAP cubes
An OLAP cube is a data structure that overcomes limitations of relational databases by
providing rapid analysis of data. OLAP cubes can display and sum large amounts of data
while also providing users with searchable access to any data points so that the data can
be rolled up, sliced, and diced as needed to handle the widest variety of questions that
are relevant to a user's area of interest.

Dimensions

A dimension in SSAS references a dimension from the Service Manager data warehouse.
In Service Manager, a dimension is roughly equivalent to a management pack class.
Each management pack class has a list of properties, while each dimension contains a
list of attributes, with each attribute mapping to one property in a class. Dimensions
allow the filtering, grouping, and labeling of data. For example, you can filter computers
by the installed operating system and group people into categories by gender or age.
The data can then be presented in a format where the data is categorized naturally into
these hierarchies and categories to allow a more in-depth analysis. Dimensions may also
have natural hierarchies to allow users to "drill down" to more detailed levels of detail.
For instance, the Date dimension has a hierarchy that can be drilled down by Year, then
Quarter, then Month, then Week, and then Day.

The following illustration shows an OLAP cube that contains the Date, Region, and
Product dimensions.
For example, Microsoft team members might want a quick and simple summary of the
sales of the Xbox One gaming console in applicable version. They can further drill down
to get sales figures for a more focused time frame. Business analysts may want to
examine how the sales of Xbox One consoles were affected by the launch of the new
console design and the Kinect for Xbox One. This helps them determine what sales
trends are occurring and what potential revisions of business strategy are needed. By
filtering on the date dimension, this information can be quickly delivered and
consumed. This slicing and dicing of data is enabled only because the dimensions have
been designed with attributes and data that can easily be filtered and grouped by the
customer.

In Service Manager, all OLAP cubes share a common set of dimensions. All dimensions
use the primary data warehouse data mart as their source, even in multiple data mart
scenarios. In multiple data mart scenarios, this can possibly lead to dimension key errors
during processing of the cube.

Measure group
A measure group is the same concept as a fact in data warehouse terminology. Just as
facts contain numeric measures in a data warehouse, a measure group contains
measures for an OLAP cube. All the measures in an OLAP cube that derive from a single
fact table in a data source view also can be considered to be a measure group. There
can be instances, however, in which there will be multiple fact tables from which the
measures in an OLAP cube derive. Measures of the same detail level are united in one
measure group. Measure groups define what data will be loaded into the system, how
the data is loaded, and how the data is bound to the multidimensional cube.

Each measure group also contains a list of partitions, which hold the actual data in
separate, nonoverlapping sections. Measure groups also contain aggregation design,
which defines the presummarized data sets that are calculated for each measure group
to improve the performance of user queries.

Measures
Measures are the numeric values that users want to slice, dice, aggregate, and analyze;
they're one of the fundamental reasons why you would want to build OLAP cubes using
data warehousing infrastructure. By using SSAS, you can build OLAP cubes that will
apply business rules and calculations to format and display measures in a customizable
format. Much of your OLAP cube development time will be spent determining and
defining which measures will be displayed and how they will be calculated.

Measures are values that usually map to numeric columns in a data warehouse fact
table, but they can also be created on dimension and degenerate dimension attributes.
These measures are the most important values of an OLAP cube that are analyzed and
the primary interest to end users who browse the OLAP cube. An example of a measure
that exists in the data warehouse is ActivityTotalTimeMeasure. ActivityTotalTimeMeasure
is a measure from ActivityStatusDurationFact that represents the time that each activity
is in a certain status. The detail level of a measure is made up of all the dimensions that
are referenced. For example, the detail level of the ComputerHostsOperatingSystem
relationship fact consists of the Computer and Operating System dimensions.

Aggregation functions are calculated on measures to enable further data analysis. The
most common aggregation function is Sum. A common OLAP cube query, for example,
sums up the total time for all activities that are In Progress. Other common aggregation
functions include Min, Max, and Count.

After the raw data has been processed in an OLAP cube, users can perform more
complex calculations and queries using multidimensional expressions (MDX) to define
their own measure expressions or calculated members. MDX is the industry standard for
querying and accessing data that is stored in OLAP systems. SQL Server wasn't designed
to work with the data model that multidimensional databases support.

Drill-down

When a user drills down into the data in an OLAP cube, the user is analyzing the data at
a different level of summarization. The level of detail of the data changes as the user
drills down, examining the data at different levels in the hierarchy. As the users drill
down, they move from summary information to data with a more narrow focus. The
following are examples of drilling down:

Drilling down into data to look at demographic information about the population
of the United States, then into the state of Washington, then into the metropolitan
area of Seattle, then into the city of Redmond, and finally into the population at
Microsoft.
Drilling down into sales figures for Xbox One consoles for the 2015 calendar year,
then the fourth quarter of the year, then the month of December, then the week
before Christmas, and finally Christmas Eve.

Drill through
When users drill-through data, they want to see all the individual transactions that
contributed to the OLAP cube's aggregated data. In other words, the user can retrieve
the data at a lowest level of detail for a given measure value. For example, when you're
given the sales data for a particular month and product category, you can drill through
that data to see a list of each table row that is contained within that cell of data.

It's common to confuse the terms drill down and drill through with each other. The
main difference between them is that a drill-down operates on a predefined hierarchy of
data-for example, USA, then into Washington, then into Seattle-within the OLAP cube. A
drill-through go directly to the lowest level of detail of data and retrieves a set of rows
from the data source that has been aggregated into a single cell.

Key performance indicator


Organizations can use key performance indicators (KPIs) to gauge the health of their
enterprise and their performance by measuring their progress toward their goals. KPIs
are business metrics that can be defined to monitor progress toward certain predefined
objectives and goals. A KPI has a target value and an actual value, which represents a
quantitative goal that is critical to the success of the organization. KPIs are displayed in
groups on a scorecard to show the overall health of the business in one quick snapshot.

An example of a KPI is to complete all change requests within 48 hours. A KPI can be
used to measure the percentage of change requests that are resolved within that time
frame. You can create dashboards to represent KPIs visually. For example, you might
want to define a KPI target value for completion of all change requests within 48 hours
to 75 percent.

Partitions
A partition is a data structure that holds some or all of the data in a measure group.
Every measure group is divided into partitions. A partition defines a subset of the fact
data that is loaded into the measure group. SSAS Standard Edition allows only one
partition per measure group, while SSAS Enterprise Edition allows a measure group to
contain multiple partitions. Partitions are a feature that is transparent to the end-user,
but they have a major impact on both the performance and the scalability of OLAP
cubes. All partitions for a measure group always exist in the same physical database.
Partitions make it possible for an administrator to better manage an OLAP cube and
improve an OLAP cube's performance. For example, you can remove or reprocess the
data in one partition of a measure group without affecting the rest of the measure
group. When you load new data into a fact table, only the partitions that should contain
the new data are affected.

Partitioning also improves processing and query performance for OLAP cubes. SSAS can
process multiple partitions in parallel, leading to a much more efficient use of CPU and
memory resources on the server. While it runs a query, SSAS fetches, processes, and
aggregates data from multiple partitions as well, only partitions that contain the data
that is relevant to a query are scanned, which reduces the overall amount of input and
output.

One example of a partitioning strategy is to place the fact data for each month into a
monthly partition. At the end of each month, all the new data goes into a new partition,
which leads to a natural distribution of data with nonoverlapping values.

Aggregations

Aggregations in an OLAP cube are presummarized data sets. They're analogous to a


SQL SELECT statement with a GROUP BY clause. SSAS can use these aggregations when
it answers queries to reduce the amount of necessary calculations, returning the answers
quickly to the user. Built-in aggregations in the OLAP cube reduce the amount of
aggregation SSAS has to perform at query time. Building the correct aggregations can
drastically improve query performance. This is often an evolving process throughout the
lifetime of the OLAP cube as its queries and usage change.

A base set of aggregations is usually created that will be useful for most of the queries
against the OLAP cube. Aggregations are built for each partition of an OLAP cube within
a measure group. When an aggregation is built, certain attributes of dimensions are
included in the presummarized data set. Users can quickly query the data based on
these aggregations when they browse the OLAP cube. Aggregations must be designed
carefully because the number of potential aggregations is so large that building all of
them would take an unreasonable amount of time and storage space.

Service Manager uses the following two options when it builds and designs
aggregations in Service Manager OLAP cubes:

Performance Gain Reaches


Usage-based optimization

The Performance Gain Reaches option defines what percentage of aggregations is built.
For example, setting this option to the default and recommended value of 30 percent
means that aggregations will be built to give the OLAP cube a 30-percent estimated
performance gain. However, this doesn't mean that 30 percent of the possible
aggregations will be built.

Usage-based optimization makes it possible for SSAS to log the requests for data so
that when a query is run, the information is fed into the aggregation design process.
SSAS then reviews the data and recommends which aggregations should be built to
give the best estimated performance gain.

Service Manager cube partitioning


Each measure group in a cube is divided into partitions, where a partition defines a
portion of the fact data that is loaded into a measure group. SQL Server Analysis
Services (SSAS) on SQL Server Standard Edition allows only one partition per measure
group, while multiple partitions are allowed in the Enterprise Edition. Partitions are
completely transparent to the end user, but they have an important impact on
performance and scalability. For example, partitions can be processed separately and in
parallel. They can have different aggregation designs. You can reprocess a partition
without affecting all the other partitions in a measure group. Also, SSAS automatically
scans only the partitions that contain the necessary data for a query, which can vastly
improve query performance.

Cube partitioning is performed on every data warehouse maintenance job run, which is
hourly by default. The specific process module that runs is named
ManageCubePartitions. It always runs after the CreateMartPartitions step. This
dependency data is stored in the infra.moduletriggercondition table.

The main dynamic link library (DLL), which handles partitioning, is in the warehouse
utility DLL, Microsoft.EnterpriseManagement.Warehouse.Utility, in the PartitionUtil class.
Specifically, there's a ManagePartitions() method in the class that handles all partition
maintenance. The data warehouse maintenance DLL,
Microsoft.EnterpriseManagement.Warehouse.Maintenance, and the data warehouse
online analytical processing (OLAP) DLL,
Microsoft.EnterpriseManagement.Warehouse.Olap, both call into
Microsoft.EnterpriseManagement.Warehouse.Utility to handle partitions during
maintenance and cube deployment. This is why actual partition handling is in the
common warehouse utility DLL to avoid duplicating logic or code.

Cube Partitioning Maintenance performs the following tasks:

Create partitions
Delete partitions
Update partition boundaries

To do this, the Structured Query Language (SQL) table etl.TablePartition is read to


determine all the fact partitions that have been created for a measure group. The
following actions occur:

1. Start cube processing for each measure group in the cube


2. Get all partitions from the etl.TablePartition table for the measure group
3. Delete any partitions that exist in the measure group but that are missing from the
etl.TablePartition table
4. Add any new partitions that have been created and that exist only in the
etl.TablePartition table
5. Update any partition that might have changed by matching each partition to the
RangeStartDate and RangeEndDate in the etl.TablePartition table

Remember the following about cube processing:

Only measure groups that are targeted at facts contain multiple partitions in
SQL Server Standard Edition. By default, all measure groups and dimensions
contain only one partition. Therefore, the partition doesn't have any boundary
conditions.
The partition boundaries are defined by a query binding that is based on datekeys
that match up to the datekeys for the corresponding fact partition in the
etl.TablePartition table.

Service Manager OLAP cube deployment


Online analytical processing (OLAP) cube deployment uses the Service Manager
deployment infrastructure to create OLAP cubes in the SQL Server Analysis Services
(SSAS) database.

To summarize, a deployable element returns a deployer with a collection of resources


that are serialized and that are used to create the OLAP cube in the SSAS database. For
OLAP cubes, the name of the deployable object is CubeDeployable for the
SystemCenterCube element and CubeExtensionDeployable for the CubeExtension
element. The deployer for both elements is CubeDeployer.

The dbo.Selector table in the DWStagingAndConfig database contains an entry for both
the SystemCenterCube and CubeExtension management pack elements. The
deployment engine uses this metadata if additional deployment processing is necessary
for a management pack element when the management pack is imported into the data
warehouse using the MPSync job.
Deployments use the Analysis Management Objects (AMO) application programming
interface (API) to create and modify all the cube components in the SSAS database.
Specifically, AMO in disconnected mode is used because the CubeDeployable element
won't have a connection to the SSAS database. Working with AMO in disconnected
mode makes it possible for you to create the entire tree of AMO objects without
establishing a connection to the server. Service Manager then serializes the hierarchy of
objects as stream resources and attaches them to the deployer object that is passed
back to the deployment infrastructure. The deployer object is then deserialized,
establishes a connection to the SSAD database, and creates the objects by sending the
appropriate requests to the server.

Only major objects can be serialized. In AMO, major objects are considered classes that
represent a complete object as a complete entity and not as part of another object. For
example, major objects include Server, Cube, and Dimension, which are all standalone
entities. The DimensionAttribute, however, isn't a major object because it can only be
created as part of a parent major object of Dimension. DimensionAttribute, therefore, is
a minor object. The OLAP cube design focuses on creating all the major objects that are
needed for cubes, along with any dependent minor objects. These major objects are the
objects that will be serialized-and, eventually, deserialized-before the objects are
created in the SSAS database.

Resources that wrap major objects must be created in a specific order for deployment to
complete successfully and satisfy the dependency requirements of the OLAP cube
elements. The following two lists illustrate the deployment sequence for the
SystemCenterCube and CubeExtension elements, respectively:

1. DataSourceView elements
2. dimension elements
3. date dimension element
4. cube element
5. DataSourceView elements
6. cube element

Service Manager OLAP cube processing


When an online analytical processing (OLAP) cube has been deployed and all its
partitions have been created, it's ready to be processed so that it's viewable. Processing
a cube is the final step after extract, transform, and load (ETL) runs. These steps occur as
follows:

1. Extract: Extract data from the source system


2. Transform: Apply functions to conform data to a standard dimensional schema
3. Load: Load the data into the data mart for consumption
4. Process: Load the data from the data mart into the OLAP cube for browsing

Processing of an OLAP cube occurs when all the aggregations for the cube are
calculated and the cube is loaded with these aggregations and data. Dimension and fact
tables are read, and the data is calculated and loaded into the cube. When you design
an OLAP cube, processing must be carefully considered because of the potentially
significant effect that processing might have in a production environment where
millions of records may exist. A full process of all partitions in such an environment
might take anywhere from days to even weeks, which might render the Service Manager
infrastructure and cubes unusable to end users. One recommendation is to disable the
processing schedule of any cubes that aren't being used to reduce the overhead on the
system.

OLAP cube processing consists of two separate tasks:

1. Dimension processing
2. Partition processing

Each OLAP cube has a corresponding processing job in the Service Manager console,
and it runs on a user-configurable schedule. Each type of processing task is described in
the following sections.

Dimension processing
Whenever a new dimension is added to the SQL Server Analysis Server (SSAS) database,
a full process must be run on the dimension to bring it to a fully processed state. After a
dimension has been processed, however, there's no guarantee that it will be processed
again when another cube that targets the same dimension is processed. By not
automatically reprocessing the dimension prevents Service Manager from reprocessing
every dimension for every cube. This is especially true if the dimension has been recently
processed, because it's unlikely that new data exists that hasn't yet been processed. To
optimize processing efficiency, there's a singleton class, which is defined in the
Microsoft.SystemCenter.Datawarehouse.OLAP.Base management pack, that is named
Microsoft.SystemCenter.Warehouse.Dimension.ProcessingInterval. The following is an
example of this class:

<!-- This singleton class defines the minimum interval of time in minutes
that must elapse before a shared dimension is reprocessed. -->
<ClassType
ID="Microsoft.SystemCenter.Warehouse.Dimension.ProcessingInterval"
Accessibility="Public" Abstract="false" Base="AdminItem!System.AdminItem"
Singleton="true">
<Property ID="IntervalInMinutes" Type="int" Required="true"
DefaultValue="60"/>
</ClassType>

This singleton class contains a property, IntervalInMinutes, which describes how often to
process a dimension. By default this property is set to 60 minutes. For example, if a
dimension was processed at 3:05 P.M. and another cube that targets the same
dimension is processed at 3:45 P.M., the dimension won't be reprocessed. One
drawback to this approach is the increased likelihood of dimension key errors. A retry
mechanism handles dimension key errors to reprocess the dimension and then the cube
partition. For more information about processing failures, see the "Common Problems
with Debugging and Troubleshooting" section.

After a dimension has been fully processed, incremental processing with ProcessUpdate
is executed. The only other time that ProcessFull is executed is when a dimension
schema changes, because it results in the dimension returning to an unprocessed state.
Remember that if ProcessFull is performed on a dimension, all affected cubes and their
partitions will then exist in an unprocessed state and they will have to be fully processed
on their next scheduled run.

Partition processing
Partition processing must be carefully considered because reprocessing a large partition
is slow, and it consumes many CPU resources on the server that hosts SSAS. Partition
processing generally takes longer than dimension processing. Unlike dimension
processing, processing a partition has no side effects on other objects. The only two
types of processing that are performed on System Center - Service Manager OLAP
cubes are ProcessFull and ProcessAdd.

Similar to dimensions, creating new partitions in an OLAP cube requires a ProcessFull


task for the partition to be in a state where it can be queried. Because a ProcessFull task
is an expensive operation, you should perform a ProcessFull task only when necessary;
for example, when you create a partition or when a row has been updated. In scenarios
in which rows have been added and no rows have been updated, Service Manager can
perform a ProcessAdd task. To do this, Service Manager uses watermarks and other
metadata. Specifically, the etl.cubepartition table and the etl.tablepartition table are
queried to determine what type of processing to perform.

The following diagram illustrates how Service Manager determines what type of
processing to perform based on the watermark data.
When a ProcessAdd task is performed, Service Manager limits the scope of the query
using watermarks. For example, if the InsertedBatchId value is 100 and the
WatermarkBatchId value is 50, the query loads data only from the data mart where the
InsertedBatchId is greater than 50 and less than 100.

Finally, it's important to note that Service Manager doesn't support manual processing
of OLAP cubes using SSAS or Business Intelligence Development Studio. Processing
cubes outside of the methods that are provided in System Center - Service Manager,
including the Service Manager console and Service Manager cmdlets, won't update the
watermark tables. Therefore, it's possible that data integrity problems might occur. If
you've accidentally reprocessed the cube manually, one possible workaround is to
unprocess the OLAP cube manually in the same manner. Then, the next time Service
Manager processes the cube, it will automatically perform a ProcessFull task because
partitions will be in an unprocessed state. This will update all watermarks and metadata
correctly so that any possible data integrity problems will be fixed.

Maintain Service Manager OLAP cubes


The information in the following sections describes maintenance best practices for
online analytical processing (OLAP) cubes.

Periodically reprocess Analysis Services dimensions


SQL Server Analysis Services (SSAS) best practices recommend that SSAS dimensions
should be fully processed periodically. Fully processing the dimensions rebuilds indices
and optimizes the data storage of multidimensional data, which improves query and
cube performance that can degrade over time. This is similar to periodically
defragmenting a hard disk on a computer.

However, a drawback to fully processing an SSAS dimension is that all affected OLAP
cubes become unprocessed, and they must also be fully processed to return them to the
state in which you can query them. Service Manager doesn't explicitly fully process on
SSAS dimensions. Therefore, you must decide when to perform this maintenance task.

Memory considerations
If you run all data warehouse extraction, transformation, and load (ETL) operations and
OLAP cube functions on one server, carefully consider the memory needs of the
operating system, data warehouse, and SSAS to ensure that the server can handle all the
data-intensive operations that can run concurrently. This is especially important because
processing OLAP cubes is a memory-intensive operation.

Next steps
Model OLAP cubes in management packs.
Modeling Service Manager OLAP cubes
in management packs overview
Article • 03/16/2023

The ability to define customized management pack elements was used to model the
online analytical processing (OLAP) cube management pack elements that are included
in Service Manager. These management pack elements make it possible for the user to
declaratively define and customize an OLAP cube at a higher level of abstraction. Based
on the definition, the deployment of these management pack elements creates the
correct relationships, components, and fundamental building blocks of the OLAP cube
at a greater level of detail, without any further user guidance. The following are the two
main management pack elements that are included in OLAP cubes:

SystemCenterCube

CubeExtension

SystemCenterCube
The SystemCenterCube element defines the OLAP cube to a varying degree of detail,
depending on your specific needs. This element contains the following subelements:

MeasureGroup

Substitution

CustomMDX

NamedCalculation

Measure

KPI

Action (however, only drill-through actions are supported currently)

ManyToManyRelationship

MeasureGroup
Each OLAP cube contains a collection of facts that exist in the data mart, where each
member in the collection corresponds to a measure group. Each measure group must
have its own unique name within the OLAP cube. However, a single fact may correspond
to multiple measure groups in an OLAP cube. For example, the abstract relationship
WorkItemAssignedToUser may be defined three times in an OLAP cube, with the unique
measure group names of ChangeRequestAssignedToUser, IncidentAssignedToUser, and
ProblemAssignedToUser. You can customize the fact so that only change requests,
incidents, and problems are included in the respective measure group for the OLAP
cube.

The following example shows the management pack element for the
IncidentAssignedToUser measure group:

<MeasureGroup DateDimAlias="IncidentAssignedToUserDateDim" MeasureGroupName-


"IncidentAssignedTouser" Fact="DWBase!WorkItemAssignedToUserFact"/>

When the OLAP cube is deployed, the dimension, outriggers, and foreign key
relationships are automatically calculated and the data source view will be updated with
these new elements. The following table describes measure group attributes.

Attribute Required Values Definition

DateDimAlias No String The name of the date dimension that will filter
on this measure group. If no alias is defined,
the date dim role playing name will
automatically be "
(MeasureGroupName)_DateDim"

MeasureGroupName Yes String The name of the measure group in the cube.
This name must be unique within the cube.

Fact Yes Relationship The target of the measure group, which must
or be a fact in the data warehouse.
CustomFact

Substitution
Because relationship facts in the data warehouse may target abstract relationships and
dimensions, you need to substitute in concrete dimensions so that the measure group
will contain only instances that you want to browse.

This is illustrated in the following example.


<Substitution MeasureGroupName="IncidentAssignedTouser"
RelationshipEndpoint="Source"
Relationship="Workitem!System.WorkItemAssignedToUser"
TargetDimension="DWBase!WorkItemDim"
ReplacementDimension="IncidentDW!IncidentDim"/>

In this example, the IncidentAssignedToUser measure group points at the


WorkitemAssignedToUser relationship. This relationship, however, won't only contain
incidents, but it will also contain change requests and problems that have also been
assigned to any users. To ensure that this measure group only contains incidents, Service
Manager substitutes WorkItemDim with IncidentDim. This means that the table that is
created in the data source view for the measure group automatically performs an inner
join on WorkItemDim with IncidentDim and returns only those instances where a join is
valid based on the EntityDimKey or BaseManagedEntityId.

Remember that you must define the relationship endpoint where you want to perform
the substitution. This element is required because it's possible that the source and
endpoint dimensions are identical and a methodology is needed to uniquely identify
which dimension to substitute. An example of such a relationship is WorkItemRelates to
WorkItem.

The substitution element is also used to define alias dimensions for the cube. In other
words, you can define an alias name for a dimension, but it isn't required to actually
substitute a dimension. In effect, the substitution in this case isn't on the dimension but
on the cube dimension or alias dimension name, as shown in the following example:

<Substitution MeasureGroupName="IncidentAssignedToUser"
RelationshipEndpoint="Target"
Relationship="Workitem!System.WorkItemAssignedToUser"
AliasTargetDimensionAs="AssignedToUserDim"
TargetDimension="DWBase!UserDim"/>

In this example, the alias cube dimension name is AssignedToUserDim. This is the name
of the dimension that will be used to actually filter on this cube. By allowing users to
define alias names, names can be specifically tailored to enable the desired, many-to-
many relationships in the cube. This makes more advanced filtering and analytical
capabilities possible.

Finally, substitutions are valid not only for relationship facts but for custom facts as well.
In this scenario, the relationship endpoint would be set to None. The following table
describes substitution attributes.
Attribute Required Values Definition

MeasureGroupName Yes String The measure


group name on
which to perform
the substitution

RelationshipEndPoint Yes (Target, Source, None) The endpoint of


the relationship to
perform the
substitution. By
default, the value
is None for
custom facts.

Relationship No ManagementPackRelationship The relationship to


use for the
substitution.

AliasTargetDimensionAs No String The alias name of


the original
targeted
dimension

AliasReplacementDimensionsAs No String The alias name for


the substituted
dimension

DimensionAlias No ManagementPackDimension The dimension


alias from a
custom fact if one
exists

Custom MDX
You can use custom Multi-Dimensional Expression (MDX) scripts to modify and tailor the
OLAP cube to the exact specifications that meet your needs. Because Service Manager is
model based, it's impossible to determine all your possible semantic needs when taking
into account the wide spectrum of requirements and exact specifications for the
domain-specific business needs of a particular user. Custom MDX makes it possible for
you to define MDX scripts that will be applied to the OLAP cube to enable specific
scenarios that users need to measure and instrument.

Named calculation
You can use named calculations to define new attributes on a dimension that a custom
measure can later target. This makes it possible for you to extend the dimensional
schema and customize the schema to fit your exact needs. The following example is
from the SystemCenterWorkItemsCube:

<NamedCalculation ID="IncidentsPastTargetResolutionTime"
Target="IncidentDW!IncidentDim" ColumnType="Int">
<Calculation>(case when ( (([Status] = 'IncidentStatusEnum.Resolved' OR
[Status] = 'IncidentStatusEnum.Closed') AND ResolvedDate >
TargetResolutionTime) OR (([Status] != 'IncidentStatusEnum.Resolved' AND
[Status] != 'IncidentStatusEnum.Closed') AND GETUTCDATE() >
TargetResolutionTime)) then 1 else 0 end )</Calculation>
</NamedCalculation>

In this example, the Incident dimension contains data, such as the status of the incident
and the target resolution time. However, there's no native measure that calculates the
number of incidents that exceeded the target resolution time, although this type of data
is very useful for a systems administrator. You can create this scenario using a named
calculation and aggregate the data so that a custom measure can target the new
attribute and then present the information to an end-user.

Remember that Service Manager supports only NamedCalculation targeting dimensions.


NamedCalculation can't target facts. The following table describes named calculation
attributes.

Attribute Required Values Definition

ID Yes String Name of the named calculation.

Target Yes ManagementPackDimension The target dimension for the measure

ColumnType Yes (Int, Double) The Structured Query Language (SQL)


type of the column

Type No (Count, Sum) The type of the measure

The subelement <Calculation> contains, as its value, the definition of the named
calculation. The value is stored as an MDX expression.

Measure
You can use custom measures to aggregate and display data based on numeric
attributes from dimensions. Service Manager doesn't support custom measures based
on facts. Continuing with the example of the Named Calculation above, Service Manager
defines a custom measure on IncidentsPastTargetResolutionTime as the following:

<Measure ID="IncidentsPastTargetResolutionTimeCount"
Target="IncidentDW!IncidentDim" Type="Sum"
Property="IncidentsPastTargetResolutionTime"/>

Reviewing this XML code, the target of the measure is the IncidentDimension and the
specific property is IncidentsPastTargetResolutionTime. This is the custom property that
was defined previously. Custom measures can target either native or calculated
properties in the dimension.

Finally, the measure type is defined to be a sum. Possible values for a measure type
include Sum and Count. Because of performance considerations, Service Manager
Distinct Count measure types aren't allowed. The following table describes measure
attributes.

Attribute Required Values Definition

ID Yes String Name of the measure

Target Yes ManagementPackDimension The target dimension for the measure

Property Yes String The targeted dimension property

Type No (Count, Sum) The type of the measure

ManyToManyRelationship
The ManyToManyRelationship makes it possible for you, the cube designer, to add
custom, many-to-many dimensions to an OLAP cube, for enabling advanced analytic
scenarios. Defining many-to-many relationships is beyond the scope of this document.
However, you can investigate this concept and its benefits. For more information about
the ManyToManyRelationship, see The Many-to-Many Revolution 2.0 .

During cube deployment, Service Manager automatically adds many-to-many


dimensions to the cube for all "one-hop" relationships, without any interaction from
you. However, Service Manager doesn't add many-to-many dimensions for cascading
(multi-hop) relationships because of the exponential increase of possible relationships
that could be added. Adding all these relationships can significantly degrade
performance when the OLAP cube is browsed. This is because the aggregations of
many-to-many relationships are generally not calculated during processing and because
the joins will be evaluated while the OLAP cube is browsed. If you want a specific,
cascading, many-to-many relationship, you can define the relationship using a
management pack element and it will be added to the OLAP cube. Conversely, you can
overwrite an automatically generated, many-to-many relationship to use a different
intermediate measure group in instances in which multiple intermediate groups exist. In
this case, Service Manager automatically uses the first group that is encountered. The
following is an example of a many-to-many management pack relationship element:

<ManyToManyRelationship CubeDimension="ServiceDim"
TargetMeasureGroup="AlertAboutConfigItem"
IntermediateMeasureGroup="ServiceContainsConfigItem" />

The following table describes many-to-many relationship attributes.

Attribute Required Values Definition

CubeDimension Yes String Name of the many-to-many cube dimension

TargetMeasureGroup Yes String The target measure group to create the


many-to-many relationship

IntermediateMeasureGroup Yes String The intermediate measure group to create the


many-to-many relationship

KPI
Organizations and businesses can use key performance indicators (KPIs) to quickly
estimate the health of an enterprise by measuring its progress toward a predefined goal.
Each KPI has a target value and an actual value. The target value is a quantitative goal
that is critical to the success of the organization. Large amounts of data are filtered to
one discrete value that can be used to monitor performance and progress towards goals
and benchmarks. Some examples of KPIs are a college having a goal that 90% of their
students graduate within four years or a basketball team with a goal of causing the
opposing team to shoot less than 50 percent for a game. You can use a scorecard to
show a group of KPIs, providing in one instantaneous snapshot the overall health of a
business. The following is an example KPI:

<KPI ID="IncidentResolutiuonKpi" >


<Caption> The ratio of incidents resolved </Caption>
<Value>IIF(([Measures].[IncidentDimCount])> 0,([Measures].
[IncidentsResolvedCount]/[Measures].[IncidentDimCount]),null)</Value>
<Goal>1.0</Goal>
<GreenThreshold> 0.75</GreenThreshold>
<YellowThreshold>0.5 </YellowThreshold>
<Direction>Up</Direction>
<StatusGraphic>Thermometer</StatusGraphic>
</KPI>

The following table describes KPI attributes.

Attribute Required Values Definition

ID Yes String Name of the KPI

Caption Yes String Description of the KPI

Value Yes String MDX script defining the numeric value of the KPI

Goal Yes String The target value of the KPI

Green Yes String (between 0.1 Any number that is above or below this threshold,
Threshold and 1) depending on the direction, is marked as green in
the status symbol.

Yellow Yes String (between 0.1 Any number that is above or below the threshold,
Threshold and 1) depending on the direction, but doesn't meet the
green threshold is marked as yellow in the status
symbol. A number that doesn't meet the yellow
threshold is marked as red in the status symbol.

Direction Yes (Up, Down) If the direction is up, any numbers above the
green or yellow threshold are marked with the
corresponding symbol. Similarly for down,
numbers below the green or yellow thresholds are
marked with the corresponding symbol.

Status Yes (Shapes, The symbol that will represent the KPI.
Graphic TrafficLight,
RoadSigns, Gauge,
ReversedGauge,
Thermometer,
Cylinder, Faces,
VarianceArrow)

Action
Actions are events that you can trigger on an OLAP cube when you're accessing data in
the cube. Only drill-through actions are supported by Service Manager. The following is
an example of an action:

<Action ID="DrillThroughOnWICreatedByUser" MeasureGroupName="CreatedByUser"


ActionType="DrillThrough">
<DrillThroughColumns CubeDimension="WorkItemCreatedByUser_UserDim">
<Property PropertyName="FirstName" />
<Property PropertyName="LastName" />
<Property PropertyName="Company" />
<Property PropertyName="Department" />
<Property PropertyName="Office" />
</DrillThroughColumns>
</Action>

The following table describes actions attributes.

Attribute Required Values Definition

ID Yes String Name of the drill-through action

MeasureGroupName Yes String Targeted measure group of the action

ActionType Yes (DrillThrough) Type of action. Only drill-through actions are


supported by Service Manager.

CubeDimension Yes String The cube dimension that is the target of the
action, which must be a slicer on the Measure
Group

PropertyName Yes String Attribute of the dimension that is displayed


when the drill-through action is executed

CubeExtension
The primary purpose of the CubeExtension element is to make it possible for you to
modify the OLAP cube after the cube has deployed onto SSAS, without having to
uninstall and reinstall the cube. In situations in which the OLAP cube has been fully
processed with years of data, recreating the cube is time consuming because all
partitions have to be fully reprocessed.

The CubeExtension element can define the following elements:

NamedCalculation

ManyToManyRelationship

KPI
Measure

Action

CustomMdx

Each customization that is defined in a CubeExtension element can also be defined in a


SystemCenterCube object. The only customization that isn't allowed is the addition of
facts or measure groups and substitutions to the cube.

Next steps
If needed, Troubleshoot OLAP cubes.
Troubleshoot Service Manager OLAP
cubes
Article • 03/16/2023

The following sections describe common problems that you might need to troubleshoot
online analytical processing (OLAP) data cubes in the Service Manager data warehouse.

Processing failures
Although safeguards exist in the DWRepository database to ensure data integrity, they
can't completely prevent the possibility of a processing error. The most common
processing error is a DimensionKeyNotFound exception. Because SQL Server Analysis
Server (SSAS) dimensions are processed every 60 minutes by default, it's possible that
while processing the fact's measure group, the dimension keys don't yet exist. In this
case, by default the processing logic reprocesses the SSAS dimensions using a
ProcessUpdate task and then reprocesses the fact up to two times to resolve the key
errors.

There are some uncommon situations in which the reprocessing might fail. The
following are possible causes of this failure:

Only the data warehouse Repository enforces foreign keys to ensure the integrity
of the data. The data mart doesn't have any foreign keys for performance
considerations. Because the load process bulk moves the data from the repository
to the data mart using ActiveX Data Objects methods, it's possible that the fact
data may have been loaded before the dimension keys as a result of a timing
problem. To resolve this problem, the load process must be run again to move the
existing dimension keys.

In multiple data mart situations, all the dimensions of each data mart target the
primary data warehouse data mart. This is to reduce the size and processing time
of the OLAP cubes. It's possible, however, for facts in the Operations Manager or
Configuration Manager data marts to target dimension keys that don't yet exist in
the primary data warehouse data mart. In this case, you must run the load job on
the primary data mart to resolve the processing failure for cubes that target the
Operations Manager or Configuration Manager data marts.

Troubleshoot MDX customizations


Because many cube customizations require a working knowledge of Multidimensional
Expressions (MDX), it's common for syntax errors to occur in the initial MDX expression
that is used for OLAP cube customization. Multiple attempts may be necessary before
the expression is suitable for your needs. You should test the MDX expression on the
OLAP cube using Business Intelligence Development Studio (BIDS) or SSAS, without
saving the changes, before you add the MDX expression to the OLAP cube using a
CubeExtension or defining it in the SystemCenterCube element.

However, if you do have an error in the MDX expression when you add it in a
management pack by using a CubeExtension, you can uninstall the cube extension to
revert any changes that were made on the OLAP cube. If the expressions are defined
using a SystemCenterCube element, you must uninstall the management pack, and then
manually delete the OLAP cube from SSAS before you make any corrections and
redeploy the OLAP cube management pack. Because of this, you should define cube
customizations by using the CubeExtension element.

OLAP Cube management pack deployment


failures
You may have a situation in which you want to browse the WorkItems Assigned To User
measure group and then you want to slice on all users in a particular department. When
you attempt to perform filter on UserDim, nothing happens or no data is returned. This
might be confusing because UserDim has a relationship to the measure group.

In this situation, remember that the same database dimension can have multiple roles in
the multidimensional model. We call these dimensions role-playing dimensions. For
example, the time dimension can be used multiple times in an OLAP cube that describes
flight information. The different role-playing dimensions in this case could be Departure
Time and Arrival Time, where both target the Time dimension.

In a WorkItems Assigned To User example, the given role-playing name of the user
dimension is actually AssignedToUser. If the user filtered by this particular dimension
instead of "UserDim", they would return the correct information.

BIDS has a useful feature called a Dimension Usage tab that shows the relationships
between dimensions and OLAP cubes so that you can determine which dimensions you
can use to slice and dice the OLAP cube. Furthermore, in the WorkItems Assigned To User
example, UserDim has no relationship to the WorkItemAssignedToUser measure group,
while UserDim(AssignedToUser) does have a relationship to the measure group where
the join attribute is UserDimKey. In this case, you can see the role-playing name is
highlighted within the parentheses of the Dimension Usage tab.
Service Manager doesn't have a Dimension Usage tab capability. Therefore, you will
have to look at BIDS to determine exactly which dimensions can filter on a particular
cube.

Failure to process OLAP cubes on a remote


SSAS server
In certain situations, processing an OLAP cube on a remote SSAS server might fail
because the firewall hasn't been configured properly. The default instance of SSAS uses
TCP/IP port 2383, and this port must be unblocked in the firewall to allow access. To
unblock the port, run the following command-line instructions:

C:\Windows\system32>set port=2383
C:\Windows\system32>netsh advfirewall firewall add rule name="Analysis
Services" protocol=TCP dir=in localport=2383 action=allow

OLAP cube processing stops


There can be many causes for OLAP cube processing to stop. You must first ensure that
the server has enough RAM, especially in situations in which the data warehouse and
the SSAS server are hosted on the same server, so that there's enough memory to run
data warehouse extraction, transformation, and load (ETL) and cube processing jobs
concurrently. A few potential solutions are listed here:

1. There are known deadlock problems in Microsoft SQL Server 2008 Analysis
Services. The workaround is to increase the number of threads in the processing
thread pool before the processing stops. If the system is already stopped, the
workaround is to restart both the System Center Management service and the
Analysis Services service and then reset the cube processing work item to a status
of 3, which means not started, so that the Service Manager workflow engine can
restart it.

7 Note

To determine the relevant cube processing work item, you can run the
following queries on the DWStagingAndConfig database. These queries are
shown individually; however, you can easily join them together in one query:
select processId from infra.process where processname like 'Process.
{CubeName}'
select batchid from infra.batch where processId = {ProcessId from
previous query}
select * from infra.workitem(nolock) where BatchId = {BatchId from
previous query}
update infra.workitem set statusid = 3 where workitemId = {workitemId
from previous query)

2. Check the CoordinatorExecutionMode property on the SSAS service, and ensue


that it's set properly. You can read more about this problem on the SQL Server
forums .

The DWMaintenance task stops on the


ManageCubePartitions or
ManageCubeTranslations step
In this situation, the most common cause is a nonresponsive SSAS server. The
workaround is the same for the first step in the previous section, "OLAP Cube Processing
Stops." To determine the relevant cube processing work item, you can run the following
queries on the DWStagingAndConfig database. Note that these queries are shown
individually; however, you can easily join them together in one query:

select processid from infra.process where processname = 'DWMaintenance'


select * from infra.ProcessModule where ProcessId = {ProcessId from previous
query} (Note the ProcessModuleId where the VertexName is
ManageCubePartitions/ManageCubeTranslaions)
Select * from infra.batch where ProcessId = {ProcessId from previous query}
(Note the BatchId from the largest batch)
select * from infra.WorkItem where BatchId = {BatchId from previous query}
update infra.workitem set statusid = 3 where workitemId = {workitemId for
the step that is not responding with the corresponding processmoduleid for
ManageCubePartitions/ManageCubeTranslations)

Next steps
Create an OLAP cube using a management pack.
Create a Service Manager OLAP cube
using a management pack
Article • 03/16/2023

A System Center online analytical processing (OLAP) cube is defined as a collection of


the following management pack elements:

Measure groups, which point to the facts that are included


Substitutions to be performed on the fact
MDX resources
Drill-Through Actions
KPIs
Named Calculations
Custom Measures
Many to Many Relationships

All elements other than MeasureGroups are optional.

When you define an OLAP cube using the schema above and you import the
management pack, the System Center - Service Manager data warehouse deploys the
cube using SQL Server Analysis Management Objects (AMO), and it creates the required
infrastructure to maintain it. For example, you can create a simple OLAP cube based on
ComputerHostsOperatingSystemFact. The following illustration is the dimensional view of
the fact in the warehouse.

To create an OLAP cube using a management pack


1. Copy the following management pack source code and save it:

XML

<Warehouse>
<Extensions>
<SystemCenterCube ID="ComputerCube">
<MeasureGroups>
<MeasureGroup ID="ComputerHostsOperatingSystem"
Fact="DWBase!ComputerHostsOperatingSystemFact" />
</MeasureGroups>
</SystemCenterCube>
</Extensions>
</Warehouse>

2. Import the management pack, and then run the MPsync job. The OLAP cube will
appear in the Service Manager console in an unprocessed state.

3. To view OLAP cube, open the Service Manager console, navigate to Data
Warehouse and Cubes, and select ComputerCube.

4. A data warehouse process job is created for the OLAP cube with a default 24-hour
job schedule. Therefore, process the cube using the Service Manager console or
using the cmdlet Start-SCDWJob -JobName Process.ComputerCube.

5. Open the cube in Excel using the link from the Task pane, and look at the cube
structure that was created.

6. Notice that the following measure groups are created for the OLAP cube:

A measure group corresponding to the fact


ComputerHostsOperatingSystemFact with a Count measure
A measure group corresponding to the dimensions that it points to
Computerdim and OperatingsystemDim with the count measure

7. Notice that the following cube dimensions are created:

The outrigger dimensions corresponding to the fact are added as cube


dimensions so that you can slice the facts on those dimensions. These
dimensions include Priority and Status.
DateDim is added to the OLAP cube because it's relevant to any fact.
EntityStatus and RelationshipStatus cube dimensions are defined for all cubes
to indicate whether the entity or relationship is deleted.

Next steps
Analyze OLAP cube data with Excel so that you can manipulate it.
Analyze Service Manager OLAP cube
data with Excel
Article • 03/16/2023

Service Manager includes predefined Microsoft Online Analytical Processing (OLAP) data
cubes that connect to the data warehouse to retrieve data so that you can manipulate it
by using Microsoft Excel in a tabular fashion. When it's opened, a data cube is presented
as a worksheet containing a blank PivotTable report. Information defining the OLAP data
source is embedded in a worksheet. When you open a report or when you refresh the
data connection, Excel uses Microsoft SQL Server Analysis Services (SSAS) to connect to
the data warehouse to retrieve key performance indicators (KPIs) and other data. After
it's opened, the current worksheet contains a snapshot or subset of data from the data
warehouse. If you save a worksheet, the data source connection information, KPIs, and
any other customizations you've made are saved with it. If you save the worksheet to an
analysis library, you can later reopen it without having to use the Service Manager
console.

KPIs included in Service Manager data cubes are predefined, special, calculated
measures that are defined on the server that make it possible for you to track KPIs, such
as status (does the current value meet a specific number?) and trend (what is the value
over time?). When these KPIs are displayed in a PivotTable, the server can send related
icons that are similar to the new Excel icon set to indicate status levels that are above or
below a certain threshold (for example, with a stop light icon) or whether a value is
trending up or down (for example, with a directional arrow icon).

PivotTables can help you quickly and easily create useful reports. PivotTables that appear
in Service Manager data cubes include many predefined KPI categories, called measure
groups or dimensions. These groups are the highest level of categorization, and they
help you examine the data and focus your analysis. In turn, most measure groups have
many additional levels of subcategories and individual fields. All the categories,
subcategories, and fields are contained in the PivotTable Field List. For example, you can
create a straightforward report using the following steps:

1. Using the PivotTable Field List, select a category and add it as a row.
2. Select a second category and add it as a column.
3. Select a category or subcategory to add values.

After you've created your report, you can add any level of additional complexity by
sorting, filtering, formatting, and adding calculations and charts. You can also go in and
out of categories as you continue your analysis.
To view a demonstration of creating a report and manipulating data in Excel using data
from an OLAP data cube in a PivotTable, see Drill into PivotTable data .

View and analyze a Service Manager OLAP data


cube with Excel
You can use the following procedure to view and analyze a Microsoft Online Analytical
Processing (OLAP) data cube from System Center - Service Manager with Microsoft
Excel. You can also save your workbooks into an analysis library. Using the PivotTable
field list, you can drag and drop fields from the cube into the workbook. You must have
Microsoft Excel 2007 or later installed on the computer running the Service Manager
console in order to use the following procedure.

7 Note

The first time you analyze a cube with Excel, it can take a few minutes to load.

To view and analyze an OLAP data cube with Excel


1. In the Service Manager console, select Data Warehouse, expand the Data
Warehouse node, and select Cubes.
2. In the Cubes pane, select a cube name, and then under Tasks, select Analyze Cube
in Excel. For example, select SystemCenterWorkItemsCube and analyze it.
3. When the worksheet opens in Excel, you can drag and drop fields from the
PivotTable Field List and create slicers and charts.

For example, if you want to see the total number of incidents currently open,
expand IncidentDimGroup, and then select Incidents Opened.
You can add additional fields to generate a more complex analysis. For
example, you can add computers from the ComputerDim dimension by
selecting the DisplayName field to see the number of incidents that affect
different computers.

4. Optionally, you can save the workbook to a shared folder or other shared location,
such as the analysis library. For more information about the analysis library, see
How to Use the Analysis Library.

Use Excel slicers to view Service Manager OLAP


cube data
The most useful reporting data available from Service Manager is in the form of data
cubes. One method of viewing and manipulating cube data is using PivotTables in
Microsoft Excel. You can use slicers in Excel to filter PivotTable data.

Slicers are easy-to-use filtering components that contain a set of buttons that enable
you to quickly filter the data in a PivotTable report, without the need to open drop-
down lists to find the items that you want to filter.

When you use a regular PivotTable report filter to filter on multiple items, the filter
indicates only that multiple items are filtered, and you have to open a drop-down list to
find the filtering details. However, a slicer clearly labels the filter that is applied and
provides details so that you can easily understand the data that is displayed in the
filtered PivotTable report.

For more information about Excel slicers, see Use slicers to filter PivotTable data on
the Microsoft Office website.

Next steps
Refresh OLAP data cube information.
Refresh OLAP data cube information in
Service Manager
Article • 03/16/2023

You can use the following procedures in Service Manager to refresh data in a Microsoft
Online Analytical Processing (OLAP) data cube and then validate that it was refreshed.
By default, most OLAP data cubes are refreshed every 24 hours. However, you can
manually refresh the data to ensure that you're accessing the latest information from
the data warehouse.

If necessary, you can also manually process an OLAP data cube outside of the
processing job.

Refresh using the Service Manager console


1. In the Service Manager console, select Data Warehouse, expand it, and select
Cubes.

2. In the Cubes pane, select a cube name, and then under Tasks, select Process Cube.

3. Select OK to close the Process Cube dialog.

Validate refresh
Select an OLAP data cube and verify that the date and time information under Last
Processed Date has been updated since you processed the cube and that the cube
Status is listed as Processed.

Manually refresh
Run the following script for the OLAP data cube of your choice.

Update etl.CubePartition set

watermarkbatchid = 0

where cubename = 'ComputerCube'


Next steps
Manage and use the analysis libraries.
Manage and use the analysis libraries in
the Service Manager console
Article • 03/16/2023

You can use the following procedure to manage the analysis libraries in the Service
Manager console in Service Manager. The analysis libraries are file storage areas, such as
network shares, Universal Naming Convention (UNC) paths, and Microsoft SharePoint.
The libraries are used to house Microsoft Excel data files, which are generated from
Microsoft Online Analytical Processing (OLAP) data cubes. When they're saved to an
analysis library, you can easily access Excel files and the cube data they connect to
without having to open the Service Manager console. Instead, you can open the storage
location directly or from the Reporting workspace.

You might want to create many analysis library folders for different departments in your
organization.

In order to add a new analysis library folder, the underlying shared folder or other
sharing location must already exist and you must have permission to write to it.

Manage an analysis library folder


1. In the Service Manager console, select Data Warehouse, expand the Data
Warehouse node, and select Analysis Libraries.
2. In the Tasks pane, select Add Library Folder.
3. In the Add Library Folder dialog under Name, enter a name for the new analysis
library folder. For example, enter Incident Management Analysis Library.
4. Under Description, enter a description that identifies the type of information that
the folder will contain. For example, enter This folder contains saved incident
management-related workbooks.
5. Under UNC Path, enter the path that represents the library folder. An example
might resemble \\computer1\IncidentManagmentReports\. You can also select
Browse to search for a location.

Use the analysis library in the Reporting


workspace
You can use the following procedure in Service Manager to view Microsoft Excel
workbooks that connect to Microsoft Online Analytical Processing (OLAP) data cubes by
using the Analysis Library node in the Reporting workspace. Workbooks are saved to
the Analysis Library by Service Manager so that report users can easily access the
workbooks.

To use the analysis library


1. In the Service Manager console, select Reporting, expand the Analysis Library
node, and then navigate to the folder that contains an Excel workbook that you
want to open.
2. Select the Excel workbook that you want to open, and then in the Tasks list, select
Open Excel File.
3. In the Excel workbook, you can refresh the data from the data warehouse. For
example, select the Data tab and select Refresh All to update the workbook.

Next steps
To manage SharePoint dashboards and their elements to measure, monitor, and
manage business performance with live data from the Service Manager data
warehouse, see Create and deploy dashboards.
Create and deploy Service Manager
dashboards
Article • 09/26/2023

You can use PerformancePoint Dashboard Designer with Service Manager to create and
manage SharePoint dashboards and their elements to measure, monitor, and manage
business performance with live data from the Service Manager data warehouse.
Dashboards are mechanisms that display hierarchical arrangements of key performance
indicators (KPIs).

You can use Dashboard Designer to define multiple filters for a dashboard, such as
filters that are defined over time, by geography, or against different KPI destinations.
When you publish dashboards to a SharePoint site, end-users can navigate them by
using page filters and drill-up and drill-down functionality. You can also use Dashboard
Designer to create views and elements, such as scorecard elements, KPIs, data sources,
indicators, and reports for use in dashboards.

This section is an example showing how you can create a PerformancePoint Services
dashboard using the Analysis Services ServiceManager WorkItems Cube. This involves
creating a data source for the cube and then creating a scorecard and creating a
resolved incidents KPI. Then, you can create an example single-page dashboard using a
filter, a scorecard, and a report. Finally, you complete the example by exploring the
deployed dashboard and its interactive features. You must have Microsoft
SharePoint Designer 2010 installed to complete the examples in the following articles.

) Important

You must have the Enterprise edition of SharePoint Designer 2010 to create
SharePoint PerformancePoint dashboards. For more information about upgrading
to the Enterprise edition, see Upgrade from a SharePoint Server 2010 Standard
CAL to an Enterprise CAL.

For more information about PerformancePoint Dashboard Designer, see


PerformancePoint Dashboard Designer .

Configure SharePoint infrastructure for


dashboards
Before you can create and deploy dashboards for use on the Self-Service Portal in
Service Manager, you must configure Microsoft SharePoint 2010, and then install
Dashboard Designer.

To configure SharePoint infrastructure for dashboards


1. Open your web browser, navigate to your top-level site in SharePoint 2010, select
Site Actions, and select Site Settings.

2. Under Site Collection Administration, select Site collection features. On the


Features page, select Activate next to SharePoint Server Publishing Infrastructure
and PerformancePoint Services Site Features.

3. Enable the new features at the parent Site level by opening the site that you want
to be the parent of your Business Intelligence site. Then, under Site Actions, select
Site Settings. Under Site Actions, select Manage site features. Select Activate next
to SharePoint Server Publishing Infrastructure and PerformancePoint Services
Site Features.

4. Next, add a Business Intelligence Center site by opening the site that you want to
be the parent of the new site. Select Site Actions, and select New Site. On the New
SharePoint Site page, select the Business Intelligence Center site template, enter a
title and a URL name, and select Create.

5. As an option, you can create the Business Intelligence Center Site under the
Service Manager Self-Service Portal Site. To do this, apply the SMPortalTheme:
select Site Actions, select Site Settings, and then under Look and Feel, select Site
theme. Select Specify a theme, select SMPortalTheme, and select Apply.

6. Next, configure the PerformancePoint Unattended Service Account by opening the


SharePoint Central Administration page. Then, under Application Management,
select Manage service applications. Select PerformancePoint Service Application,
and select PerformancePoint Service Application Settings. Enter your credentials
in the Secure Store and Unattended Service Account area, and select OK.

7. If an error message appears that says The Unattended Service Account can't be
set for the service application, you can resolve this problem by doing the
following:

a. Navigate to the SharePoint 2012 Central Administration page, and then under
Application Management, select Manage service applications.

b. Select Secure Store Service, and select Generate New Key.


c. Enter a pass phrase, and select OK.

8. On the new Business Intelligence Center site page that you created, move your
mouse over the Monitor Key Performance area of the page, and select Start using
PerformancePoint Services.

9. If an error message appears that says An error occurred during the processing of
<FolderPath>/<PageName>.aspx. Code blocks are not allowed in this file, you
can resolve this problem by inserting the following information into the
Web.config file between the PageParserPaths tags of your SharePoint site:

<PageParserPaths>
<PageParserPath VirtualPath="<FolderPath>/<PageName>.aspx"
CompilationMode="Always" AllowServerSideScript="true"/>
</PageParserPaths>

10. On the new page, select Run Dashboard Designer, and then in the Application
Run - Security Warning dialog, select Run to install PerformancePoint Dashboard
Designer. Later, you can start Dashboard Designer from the Start menu.

Create a data source for Dashboard Designer


You can use the following information to create a new data source in Service Manager
and save it using Dashboard Designer.

The workspace is an XML document that defines the PerformancePoint item definitions
for a particular project. The saved workspace items are stored in SharePoint lists and
libraries. You can add existing stored items to a workspace based on the project
requirements.

To create a data source for Dashboard Designer


1. Open PerformancePoint Dashboard Designer, and in the Workspace Browser,
select Data Connections.

2. Select the Create tab, and select Data Source.

3. In the Select a Data Source Template dialog, select Analysis Services, and select
OK.
4. In the New Data Source pane, ensure that the Editor tab is selected, and enter the
information for the connection settings for the data source using the examples in
the following table.

Property Value

Server <YourServerName>

Database DWASDataBase

Cube ServiceManager WorkItems Cube

5. To save the data source, in the Workspace Browser pane, right-click the new data
source, and select Save. As an option, you can rename the data source.

6. To save the workspace, select Save As, and save the Dashboard Designer
Workspace in the folder that you want.

Build the Resolved Incidents scorecard


Before you can use a scorecard in a dashboard in Service Manager, you must create the
scorecard. Use the following procedure to use a wizard to create an example scorecard
called Resolved Incidents Scorecard. The wizard also creates key performance indicators
(KPIs) from the SystemCenterWorkItemsCube data source.

To build the Resolved Incidents Scorecard


1. Open Dashboard Designer, connect to the server that hosts the DWASDataBase,
and then select Service Manager WorkItems Cube. Or, if you've previously saved a
designer workspace file that contains the connection information, open the file.

2. On the Home tab, select Add Lists. In the Add Lists box, select PerformancePoint
Content, and select OK.

3. To add a scorecard to the workspace, in the Workspace Browser, right-click the


PerformancePoint Content list, point to New, and select Scorecard.

4. In the Select a Scorecard Template window, in the Category tree, ensure that
Microsoft is selected. In the Template list, select Analysis Services, and then select
OK.

5. In the Create an Analysis Services Scorecard Wizard, on the Select a data source
page, select the SystemCenterWorkItemsCube data source, and select Next.
7 Note

When you use the wizard to create a scorecard based on an Analysis Services
data source, there are two options that enable the creation of KPIs. You can
use the first option to create KPIs based on the measures of the cube. You can
use the second option to import KPIs from the cube, if the cube contains KPIs.

6. On the Select a KPI Source page, select Create KPIs from Analysis Services
measures, and select Next.

7. On the Select KPIs to Import page, select Add KPI and then in the new row, enter
Resolved Incidents KPI for the name.

8. Select Incidents Resolved Count under Actual.

9. Select Increasing is Better under Band Method.

10. Select Incidents Opened under Targets, and select Next.

11. On the Add Measure Filters page, select Next.

12. On the Add Member Columns page, select Next.

13. On the Locations page, select Finish.

14. Notice that the KPI and scorecard are added to the workspace and that the
scorecard opens in the design pane. In the Workspace Browser, modify the name
of the new scorecard to Resolved Incidents Scorecard, and then press Enter.

15. Save the information in Designer Workspace.

Configure the KPI


Use the following procedures to configure the key performance indicators (KPIs) that
you created in the How to Build the Resolved Incidents Scorecard section. You will later
use this information in a PerformancePoint dashboard.

In the first procedure, you configure the Resolved Incidents KPI number formats and
threshold values. In the second procedure, you configure the Resolved Incidents
Scorecard and add the Incident Classification hierarchy to allow browsing of the KPI by
the hierarchy members. In addition, you will format the scorecard. In the dashboard, the
selection of members of the Incident Classification hierarchy will filter a report.
To configure the KPI
1. Using Dashboard Designer, open the file you saved previously that contains the
Incident Resolved Scorecard.

2. In the Workspace Browser, select Resolved Incidents KPI.

3. To configure the thresholds for the Target metric, select the Target metric.

4. In the Thresholds section, modify the value for Threshold 2 to 50%, and the value
for Threshold 1 to 25%.

5. In the Thresholds section, modify the value for Best to 100%.

6. To save the KPI, in the Workspace Browser, right-click Resolved Incidents KPI, and
select Save.

To configure the Resolved Incidents KPI


1. In the Workspace Browser, select the scorecard named Resolved Incidents
Scorecard.

2. To refresh the scorecard with the updated KPI definition, on the Edit ribbon tab,
inside the View group, select Update.

3. To add the Incident Classification hierarchy to the scorecard rows, in the Details
pane, expand Dimensions, expand the IncidentDim_IncidentClassification
dimension, and then drag IncidentClassificationValue onto the Incident scorecard
cell.

4. In the Select Members dialog, expand the All member list, select all the values
other than the empty value, and select OK.

5. To refresh the scorecard, on the Edit ribbon tab, inside the View group, select
Update.

Create the Incidents by Analyst report


Use the following procedure to create an Analytic Grid report named Incidents by
Analyst.

To create the Incidents by Analyst report


1. Open Dashboard Designer, connect to the server that hosts the DWASDataBase,
and select Service Manager WorkItems Cube. Or, if you've previously saved a
designer workspace file that contains the connection information, open that file.

2. In the Workspace Browser, right-click the PerformancePoint Content list, select


New, and select Report.

3. In the Select a Report Template dialog, select the Analytic Grid template, and
select OK.

4. In the Create an Analytic Grid Report wizard, on the Select a Data Source page,
select the SystemCenterWorkItems data source, and select Finish.

5. In the Workspace Browser, modify the name of the report to Incidents by Analyst,
and then press Enter.

6. To configure the report, in the Details pane, expand Dimensions, expand the
AssignedToUserDim dimension, and then drag the User Name attribute into the
Rows drop zone.

7. To configure the hierarchy member selection, in the Rows drop zone, select the
down arrow to the right of the AssignedToUserDim hierarchy to open the Select
Members dialog.

8. In the Select Members dialog, right-click All members member, point to


Autoselect Members, select Select "User Name", and select OK.

9. In the Details pane, expand Measures, and then drag the IncidentDimCount and
Incidents Resolved Count measures into the Columns drop zone.

10. Right-click the Incidents Resolved Count column heading, point to Sort, and select
Smallest to Largest.

11. Right-click anywhere in table, point to Filter, and select Filter Empty Rows.

12. In the Details pane, expand Dimensions, expand the


IncidentDim_IncidentClassification dimension, and then drag
IncidentClassificationValue into the Background drop zone.

13. On the Edit ribbon tab, in the View group, select Settings.

14. In the View Settings window, select Show Information Bar, and select OK.

15. In the design pane, select the Query tab, and then review the MDX expression that
was created automatically to support the report design.
16. To save the report, in the Workspace Browser, right-click the Incidents by Analyst
report, and select Save.

Create the Resolved Incidents dashboard


Use the following procedure to create and assemble the Resolved Incidents Dashboard.
This involves the Resolved Incidents Scorecard and the Incidents by Analyst report. You
will then create connections to pass values between the dashboard items.

To create the Resolved Incidents dashboard


1. Open Dashboard Designer, connect to the server that hosts the DWASDataBase,
and select Service Manager WorkItems Cube. Or, if you've previously saved a
designer workspace file that contains the connection information, open that file.

2. In the Select a Dashboard Page Template window, select the 2 Columns template,
and select OK.

3. In the Workspace Browser, modify the name of the dashboard to Resolved


Incidents Dashboard, and then press Enter.

4. To add the Resolved Incidents Scorecard to the dashboard, in the Details pane,
expand Scorecards, expand the PerformancePoint Content list, and then drag the
Resolved Incidents Scorecard into the Left Column zone.

5. To add the Incidents by Analyst report to the dashboard, in the Details pane,
expand Reports, expand the PerformancePoint Content list, and then drag the
Incidents by Analyst report into the Right Column zone.

6. To create the connection between the scorecard and the report, in the Right
Column zone, select Incidents by Analyst.

7. On the Edit ribbon tab, select Create Connection.

8. In the Connection dialog, in the Get Values From list, select Left Column - (1)
Resolved Incidents Scorecard.

9. Select the Values tab, and in Connect To, select the Incident Classification
IncidentClassificationValue hierarchy.

10. In the Source Value list, select Member Row: Member Unique Name, and select
OK.

11. Save the dashboard and the workspace.


Deploy the Resolved Incidents dashboard
Use the following procedure to deploy the Resolved Incidents Dashboard to the
SharePoint Dashboards library.

In this procedure, you deploy the Resolved Incidents Dashboard to the SharePoint
Dashboards library using the selected master page. Each dashboard is published as a
folder that consists of a web page for each page in the dashboard.

After you deploy the dashboard, you can select values in the Resolved Incidents
Scorecard to show information that applies only to that classification. For example, if
you select an E-Mail Problems value, only incidents with the E-Mail Problems
classification appear in the scorecard portion of the report.

To deploy the Resolved Incidents dashboard


1. Open Dashboard Designer, connect to the server that hosts the DWASDataBase,
and then select Service Manager WorkItems Cube. Or, if you've previously saved a
designer workspace file that contains the connection information, open that file.

2. In the Workspace Browser, right-click the Resolved Incidents Dashboard, and then
select Deploy to SharePoint.

3. In the Deploy To dialog, notice the selection of the Dashboards library.

4. In the Master Page list, select Minimal, and select OK.

5. Internet Explorer starts and opens the first dashboard page.

Next steps
To learn about customizing the Service Manager data warehouse, read Customize
the data warehouse.
Overview of customizing the Service
Manager data warehouse
Article • 03/16/2023

After the Service Manager data warehouse is deployed and you've viewed its reports,
you can customize the information in the reports to better suit your organization. For
example, you might want to recreate reports that you've used in the past with other
information systems using Service Manager. Or, you might want to customize the
reports for your internal business processes for incidents or change management.

The information in this section can help you determine how to extend and customize
the data warehouse to enable in-depth analyses.

Data warehouse dimensional modeling using a


star schema
The data warehouse in Service Manager is a set of databases and processes. The
processes add information to the databases automatically. In short, the purpose of the
data warehouse is to add information to the data mart where you and other users run
reports and perform analyses to help manage your business. Service Manager stores
data warehouse data longer in the warehouse than in the Service Manager database
because of the usefulness of the data for trending and analysis. Also, data warehouse
data often outlives its usefulness for normal transactional processing needs.

The data warehouse is optimized for aggregating and analyzing a lot of data at once in
many seemly unpredictable ways. This behavior differs from transactional processing
systems, which are optimized for write access on few records in any given transaction,
making the behavior of those transactions more predictable.

To optimize the data warehouse for performance and ease of use, Service Manager uses
the Kimball approach to dimensional modeling. (For more information about the
Kimball approach, see Dimensional modeling .) This means that tables in the
DWDataMart database are grouped logically into subject matter areas that resemble a
star when they're laid out in a diagram. Therefore, these groupings are often called star
schemas, and they include the following:

In the center of the star is a fact table. Fact tables represent relationships,
measures, and key performance indicators (KPIs). Fact tables are normally long and
have relatively few columns, but they contain a large number of transactions.
The fact table joins to dimension tables, which represent classes, properties, and
enumerations. Dimension tables usually contain far fewer rows than fact tables, but
they're wider because they have attributes by which report users slice and dice
reports. These attributes can include status, classifications, and date attributes
(such as Created Date or Resolved Date) of a class.
An outrigger is a special kind of dimension table that hangs off another dimension
table for performance and usability reasons.

When you think about a star schema, consider what a star schema for a coffee shop
might resemble. If the transactions represent coffee purchases, the dimensions might
include the following:

A date dimension to consolidate the transaction by both Gregorian and fiscal


calendars
A customer dimension that indicates who bought the coffee
An employee dimension that indicates who made the coffee
A product dimension that indicates the coffee type, such as espresso, drip coffee,
latte, or breve
A store dimension

When you consider the measures that the fact table might include, the list might include
the following:

Quantity sold
Price per unit
Total sales
Total discounts

Information technology (IT) processes aren't different from the coffee shop example
when you're designing a dimensional model. There are transactions that occur, such as
incident creation, resolution, and closure, that can produce interesting and useful
metrics such as time to resolution, resolution target adherence, billable time incurred by
analysts, and duration in status.

When you think about extending and customizing your data warehouse, consider the
business questions that you want to answer, and investigate dimensional modeling for
useful information and best practices. For more information about customizing the data
warehouse, see the other sections in this article.

Fact tables in the data warehouse


This section describes how to define relationship facts in the data warehouse in Service
Manager. A relationship fact in the Service Manager data warehouse is similar to a
relationship in Service Manager. You can use a relationship fact to help answer queries,
such as the following:

Which work items are currently assigned to the user John Smith so that you can
determine their status?
What is the list of all the computers in the domain that currently have Windows 10
installed so that you can update them to the latest version?
What are all the review activities that list Samantha Smith as a reviewer so that
they can be reassigned because she is on vacation?

In each of these scenarios, there's a source instance and a target instance that are joined
together by a relationship. Without a relationship fact, it's difficult to determine the
associations between the instances. Consider the relationship in the
Microsoft.Windows.ComputerHostsOperatingSystem in the Microsoft.Windows.Library
management pack in the following example:

XML

<RelationshipType ID="Microsoft.Windows.ComputerHostsOperatingSystem"
Accessibility="Public" Base="System!System.Hosting">
<Source ID="Computer" Type="Microsoft.Windows.Computer" />
<Target ID="OperatingSystem" Type="Microsoft.Windows.OperatingSystem"
MaxCardinality="1" />
</RelationshipType>

In a Service Manager relationship, the source and target are always modeled by a
management pack class. In this relationship, the class Microsoft.Windows.Computer is
the source and the class Microsoft.Windows.OperatingSystem is the target. The
following information defines the corresponding RelationshipFact based on the
Microsoft.Windows.ComputerHostsOperatingSystem relationship:

XML

<RelationshipFact ID="ComputerHostsOperatingSystemFact"
Accessibility="Public" Domain="Domain.ConfigurationManagement"
TimeGrain="Daily" SourceType="Windows!Microsoft.Windows.Computer"
SourceDimension="ComputerDim">
<Relationships
RelationshipType="Windows!Microsoft.Windows.ComputerHostsOperatingSystem"
TargetDimension="OperatingSystemDim" />
</RelationshipFact>
Notice how the relationship fact defines a source dimension and a target dimension.
You might notice that the source and target dimensions target the source and target
classes from the original relationship that the relationship fact is modeled on.

You can use relationship facts by associating two dimensions together, which makes it
possible for reports to use the association to display important information from each
dimension in relation to the other. For example, you can use the
WorkItemAssignedToUser relationship to display information about incidents or change
requests for a specific user in the report. This makes it possible for you to navigate in
the data to find information that is specific to your needs. This is just one example of
how relationship facts are useful in creating specialized views of data in reports.

The attributes and subelement tags that are required for modeling a relationship fact in
a user-defined management pack are described in the following table for the
<RelationshipFact> tag.

Attribute Description

ID A unique identifier for the relationship fact element. This is also the table
name of the relationship fact in the data warehouse and data mart.

Accessibility This element should always be set to Public because the deployment process
creates system-derived management packs that refer to this outrigger during
the generation of the automated transforms.

Domain The scope of the relationship fact. Possible values include the following:
Instance Management Activity Management, Incident Management Change
Management, and Problem Management.

The value for this attribute must be an enumeration that is a child of the
parent Domain enumeration, which is defined in the
Microsoft.SystemCenter.Datawarehouse.Base management pack.

TimeGrain The detail level of the relationship fact. The value must be one of the
following: Hourly, Daily, Weekly, or Monthly.

SourceType The management pack class for the source of the relationship.

SourceDimension The dimension that targets the source class. This is an optional field. If no
SourceDimension is specified, Service Manager automatically finds the
dimension that directly targets the source class itself or the closest parent
class of the source class in the class hierarchy.

In a multiple-relationship fact, the source dimension always remains the same. However,
the target dimension can change, depending on the specific relationship. Every
relationship type attribute in a multiple relationship fact must be unique. The following
is an example of the relationship fact in the WorkItemAssignedToAndCreatedByUser
management pack:

XML

<RelationshipFact ID="WorkItemAssignedToAndCreatedUserFact"
Accessibility="Public" Domain="Domain.InstanceManagement" TimeGrain="Daily"
SourceType="WorkItem!System.WorkItem" SourceDimension="WorkItemDim">
<Relationships RelationshipType="WorkItem!System.WorkItemAssignedToUser"
TargetDimension="UserDim" />
<Relationships RelationshipType="WorkItem!System.WorkItemCreatedByUser"
TargetDimension="UserDim" />
</RelationshipFact>

In this example, you can see that although the target dimension is identical for both
relationships, the relationships themselves are unique. Therefore, the relationship fact is
valid. For more examples of outriggers, dimensions, and relationship facts, you can
examine any of the data warehouse management packs that are included in Service
Manager. A good example is the base data warehouse management pack named
Microsoft.SystemCenter.Datawarehouse.Base.

Outriggers in the data warehouse


An outrigger in the data warehouse in Service Manager is essentially a list that can
logically group together a set of values. The following tables show two examples that
display a logical grouping of values that denote Priority and Windows Operating
Systems.

Priority

Low

Medium

High

Windows Operating Systems

Windows 7

Windows 8

Windows 10

An outrigger is useful in two ways:


You can use discrete values from an outrigger as a drop-down menu for a report
parameter when you create and view reports in the Service Manager console.
You can use outrigger values to group data in reports for advanced analysis.

Outriggers in the data warehouse can target one or more class properties and
consolidate them into a single set of discrete values. These properties can only be a data
type String or ManagementPackEnumeration. When they're based on an enumeration,
outriggers also preserve the hierarchy. Service Manager doesn't support an outrigger
that is defined on a data type other than String or ManagementPackEnumeration.

Although the benefit of defining an outrigger on an enumeration is evident, an


advantage of defining an outrigger on a string column is that the data warehouse
infrastructure combines the distinct values of a property from the instance space into a
small list. You can then use the list in an easy-to-use drop-down list in a report. A good
example of a string-based outrigger is the Manufacturer property on the Computer
class, which is modeled as a string in the Service Manager database. By defining an
outrigger on that property, Service Manager provides the ability to select a value from
the drop-down list, instead of searching among manufacturers that you procured your
computers from.

To view an example of how an outrigger is used in a report in the parameter header,


open the Service Manager console; navigate to Reporting, Activity Management; and
then run the Activity Distribution report. Next, review the Status list to see the values of
the outrigger. You can see how the outrigger was modeled in the management pack in
the following example. Note the class System.WorkItem.Activity, which is defined in the
System.Workitem.Activity.Library management pack:

XML

<ClassType ID="System.WorkItem.Activity" Accessibility="Public"


Base="WorkItem!System.WorkItem" Hosted="false" Abstract="true">
< Property ID="SequenceId" Type="int" />
<Property ID="Notes" Type="richtext" MaxLength="4000" />
<Property ID="Status" Type="enum" EnumType="ActivityStatusEnum" />
<Property ID="Priority" Type="enum" EnumType="ActivityPriorityEnum" />
<Property ID="Area" Type="enum" EnumType="ActivityAreaEnum" />
<Property ID="Stage" Type="enum" EnumType="ActivityStageEnum" />
</ClassType>

Next, you might want to define an outrigger based on the enumeration property
Status . The following example shows how you can define an outrigger in a

management pack of your choice:

XML
<Outrigger ID="ActivityStatus" Accessibility="Public">
<Attribute ID="Status"
PropertyPath="$Context/Property[Type='CoreActivity!System.WorkItem.Activity'
]/Status$" />
</Outrigger>

As described previously, you-the management pack author-can define an outrigger on


one or more class properties. Each class property is modeled by a corresponding
attribute in the outrigger. The following is an example of enumeration-based outrigger
visualization. In this example, Activity Status is based on ActivityStatusEnum:

XML

<EnumerationTypes>
<EnumerationValue ID="ActivityStatusEnum" Accessibility="Public" />
<EnumerationValue ID="ActivityStatusEnum.Ready" Parent="ActivityStatusEnum"
Accessibility="Public" Ordinal="5.0" />
<EnumerationValue ID="ActivityStatusEnum.Active" Parent="ActivityStatusEnum"
Accessibility="Public" Ordinal="10.0" />
<EnumerationValue ID="ActivityStatusEnum.OnHold" Parent="ActivityStatusEnum"
Accessibility="Public" Ordinal="15.0" />
<EnumerationValue ID="ActivityStatusEnum.Completed"
Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="20.0" />
<EnumerationValue ID="ActivityStatusEnum.Failed" Parent="ActivityStatusEnum"
Accessibility="Public" Ordinal="25.0" />
<EnumerationValue ID="ActivityStatusEnum.Cancelled"
Parent="ActivityStatusEnum" Accessibility="Public" Ordinal="30.0" />
<EnumerationValue ID="ActivityStatusEnum.Rerun" Parent="ActivityStatusEnum"
Accessibility="Public" Ordinal="35.0" />
...
</EnumerationTypes>

Each of the values is included in the outrigger's set of discrete values. The following
table lists the column ID and ActivityStatusValue from the ActivityStatus outrigger, which
contains all the enumeration values from ActivityStatusEnum.

ID ActivityStatusValue

ActivityStatusEnum.Completed Completed

ActivityStatusEnum Activity Status

ActivityStatusEnum.Active In Progress

ActivityStatusEnum.OnHold On Hold

ActivityStatusEnum.Rerun Rerun

ActivityStatusEnum.Failed Failed
ID ActivityStatusValue

ActivityStatusEnum.Ready Pending

ActivityStatusEnum.Cancelled Cancelled

In the previous table, the ID column from the outrigger contains all the
EnumerationValue IDs from the ActivityStatus enumeration type. The ActivityStatusValue
is the actual user-friendly display name that appears in the report drop-down menus.

The following example provides further detail about how to construct and model an
outrigger. Again, the outrigger ActivityStatus is used as an example:

XML

<Outrigger ID="ActivityStatus" Accessibility="Public">


<Attribute ID="Status"
PropertyPath="$Context/Property[Type='CoreActivity!System.WorkItem.Activity'
]/Status$" />
</Outrigger>

The following table describes the attributes for the <Outrigger> tag.

Attribute Description

ID A unique identifier for the outrigger element. This is also the table name of the
outrigger in the data warehouse and datamart.

Accessibility This element should always be set to Public.

Each <Outrigger> parent tag contains one or more <Attribute> subelement tags. The
following table describes the attributes for this tag.

Attribute Description

ID A unique identifier for each outrigger attribute

PropertyPath PropertyPath syntax, which must uniquely identify the class and attribute that the
outrigger attribute is targeting.

Dimensions in the data warehouse


A dimension in the Service Manager data warehouse in Service Manager is roughly
analogous to a management pack class. Each management class has a list of properties,
while each dimension contains a list of attributes. Each dimension attribute corresponds
to one property in a class.

Suppose that a user wants a report in Service Manager to display some information
about the attributes for the computers in a particular domain. For example, the user may
want to know the IP address, number of logical processors, and Domain Name System
(DNS) name for each computer. Using dimensions, the user can bring the data over from
Service Manager to the data warehouse where reports can query and display this data
for each computer.

In the Service Manager data warehouse, a dimension always targets a single class. The
dimension attributes then map to the target class's properties. In this example, to get
the information about the attributes from a computer, there's a computer dimension
that is targeted at the Microsoft.Windows.Computers class.

In certain cases that are described in further detail in this article, a dimension may also
map to the properties of a target class's base and derived classes. Therefore, while a
dimension may be roughly analogous to a management pack class, it can also contain
properties that are within that management pack class's hierarchy.

You can see an example of how a dimension is used in the Activity Distribution report. In
the report, under Select affected configuration item (optional), when you select Add,
the Select dimension objects box opens and you can search for dimension instances in
the ConfigItemDim dimension. You can filter on the Display Name property. When you
select All Windows Computers as the dimension object, the report header is updated
with the selected filter value. When you run the report, only activities that affect the
selected configuration item, All Windows Computers, are displayed.

To see how the dimension was modeled, you can look at the System.Entity and
System.ConfigItem classes that are defined in the System.Library management pack:

XML

<ClassType ID="System.Entity" Accessibility="Public" Hosted="false"


Abstract="true" Singleton="false">
<Property ID="DisplayName" Type="string" MinLength="0" Key="false"
CaseSensitive="false" MaxLength="4000" />
</ClassType>

XML

<ClassType ID="System.ConfigItem" Base="System.Entity"


Accessibility="Public" Hosted="false" Abstract="true">
<Property ID="ObjectStatus" Type="enum"
EnumType="System.ConfigItem.ObjectStatusEnum"
DefaultValue="System.ConfigItem.ObjectStatusEnum.Active" />
<Property ID="AssetStatus" Type="enum"
EnumType="System.ConfigItem.AssetStatusEnum" />
<Property ID="Notes" Type="richtext" MaxLength="4000" />
</ClassType>

To revise the configuration item dimension to target the ObjectStatus and AssetStatus
properties of System.ConfigItem and the DisplayName property of the base class
System.Library, you can define the dimension with the following three properties as
attributes:

XML

<Dimension ID="ConfigItemDim" Accessibility="Public"


Target="System!System.ConfigItem" InferredDimension="true"
HierarchySupport="Exact" Reconcile="true">
<InclusionAttribute ID="DisplayName"
PropertyPath="$Context/Property[Type='System!System.Entity']/DisplayName$"
SlowlyChangingAttribute="false" />
<InclusionAttribute ID="ObjectStatus"
PropertyPath="$Context/Property[Type='System!System.ConfigItem']/ObjectStatu
s$" SlowlyChangingAttribute="false" />
<InclusionAttribute ID="AssetStatus"
PropertyPath="$Context/Property[Type='System!System.ConfigItem']/AssetStatus
$" SlowlyChangingAttribute="false" />
</Dimension>

The following table provides details about how to construct and model a dimension by
examining the XML schema elements and attributes for a <Dimension> .

Attribute Description

ID A unique identifier for the dimension element. This is also the table name of
the dimension in the data warehouse and datamart.

Accessibility This element should always be set to "Public".

Target The management pack class name that the dimension is targeting.

InferredDimension This value is always to true.

HierarchySupport The hierarchy of classes that help define the properties that will be included
in the dimension. There are three possible values:

1. Exact
2. IncludeExtendedClassProperties
3. IncludeDerivedClassProperties

For details of these values, see the next sections of this article.
Attribute Description

Extends Optional boolean flag to indicate whether the dimension is a base dimension
or is extending another dimension. After a dimension has been defined, you
can use the Service Manager data warehouse to "extend" the dimension and
add more attributes at a later point in time.

If the Extends flag is set to true, HierarchySupport must be set to Exact, and
all the extension attributes must be listed. By default, this flag is set to false.

Reconcile Optional boolean flag that indicates whether two instances, which are
otherwise identical and only differ regarding which source the data
originated from, should be consolidated into one single row of data. By
default, this flag is set to false.

Dimensions that are related to configuration items should have this flag set
to true, and dimensions that are related to work items have this flag set to
false.

The HierarchySupport attribute determines which classes are processed and the specific
attributes that are included in the dimension. Details for each possible value are
described in the following sections.

Exact
When the HierarchySupport attribute is Exact, you must manually define each attribute
that should be included in the dimension using the <InclusionAttribute> tag. These
attributes can be either from the target class or any of the target class's base and
derived classes. Each inclusion attribute corresponds to one class property. The
following table describes each of the attributes in the <InclusionAttribute> tag.

Attribute Description

ID A unique identifier for the attribute element.

PropertyPath PropertyPath syntax that must uniquely identify the class and attribute
that the dimension attribute is targeting.

SlowlyChangingAttribute This attribute should always be false.

The previous ConfigItemDim dimension example had a HierarchySupport value of Exact.


Therefore, only the listed inclusion attributes (DisplayName, ObjectStatus, AssetStatus)
are processed in the transform and included in the dimension table in the data
warehouse repository and datamart.
The Exact HierarchySupport value requires you to manually list each attribute that you
want in the dimension. However, you might want all the attributes for a class, as well as
attributes from its base and derived classes, to be included in the dimension. In these
cases, it can take a lot of effort to list each attribute explicitly. To help, Service Manager
includes two other HierarchySupport values that automatically handle these cases for
you. These values are described in the following sections.

IncludeExtendedClassProperties
For a dimension with a HierarchySupport of IncludeExtendedClassProperties, all the
attributes of the target class and all of its base classes are included in the dimension
table and transform. The following illustration shows an example: CarDimension, which
targets the class Car and has a HierarchySupport of IncludeExtendedClassProperties.

Because CarDimension targets the Car class and has a HierarchySupport value of
IncludeExtendedClassProperties, it processes both the Car class and its base class,
Vehicle. The resulting table and transform contain the attributes in the following table.

CarDimension Attributes

Color

Make

Model

NumDoors

NumCupHolders

Horsepower
CarDimension Attributes

CargoSpace

IncludeDerivedClassProperties
For a dimension with a HierarchySupport of IncludeDerivedClassProperties, all the
attributes of the target class, its base classes, and its derived classes are included in the
dimension table and its associated transform.

Slightly modifying the previous example, CarDimension now has a HierarchySupport of


IncludeDerivedClassProperties below. Because it processes both the base and derived
classes of the target class, the dimension now processes the attributes of three classes:
Vehicle, Car, and Sports car, as shown in the following illustration.

The CarDimension dimension table and transform contain the attributes in the following
table.

CarDimension Attributes

Color

Make

Model
CarDimension Attributes

NumDoors

NumCupHolders

Horsepower

CargoSpace

TopSpeed
Disaster recovery for System Center -
Service Manager
Article • 03/16/2023

A recovery plan for potential software and equipment failures in your System Center -
Service Manager environment requires a deployment strategy that separates the Service
Manager and data warehouse management servers from the computers that host their
respective databases. During installation, you must back up the encryption keys on all
the management servers, both the Service Manager management server and data
warehouse management servers.

Did you know that Microsoft Azure provides similar functionality in the cloud?
Learn more about Microsoft Azure storage solutions .
Create a hybrid storage solution in Microsoft Azure:
Configure Azure backup for DPM data.
Configure Azure Backup to prepare for back up of Windows Server.
Learn about Azure backup and how it integrates with your on-premises DPM
environment.

7 Note

The encryption keys on the Service Manager management server and data
warehouse management server are different and each must be backed up.

You must also back up the Service Manager databases and your unsealed management
packs.

Service Manager management server


You can take two approaches to restoring a failed Service Manager management server.
You can replace the management server, or you can promote an additional
management server to the primary role if an additional management server exists. The
option of replacing the management server or promoting it depends largely on your
time frame. If you can bring up another computer quickly, you might choose that
option. Otherwise, you can promote an additional management server to the primary
role and then add another management server later.
Promoting an additional management server involves the following procedures:

1. Promote an additional Service Manager management server. For more information,


see How to Promote a Service Manager Management Server in this guide.

2. When a replacement server is available, install an additional Service Manager


management server. For more information, see How to Install an Additional
Management Server.

If promoting an additional Service Manager management server isn't an option,


you've to install a replacement management server. Installing a replacement
Service Manager management server involves the following procedures:

3. Start with a new computer that has the same computer name as the computer that
failed.

4. Restore the encryption key that you saved from the original Service Manager
management server. For more information, see How to Restore the Service
Manager Encryption Key in this guide.

5. Install a Service Manager management server. For more information, see Service
Manager Deployment Scenarios.

Data Warehouse management server


Only one recovery scenario is possible for the data warehouse management server: you
must install a new data warehouse management server on a computer with the same
computer name as the computer that failed. Installing a replacement data warehouse
management server involves the following procedures:

1. Start with a new computer that has the same computer name as the computer that
failed.

2. Restore the encryption key that you saved from the original data warehouse
management server. For more information, see How to Restore the Service
Manager Encryption Key in this guide.

3. Install a data warehouse management server. For more information, see Service
Manager Deployment Scenarios.

Service Manager databases


Recovery procedures are the same for both the Service Manager database and the data
warehouse database. You use a computer with the same name, and then you restore the
Microsoft SQL Server databases using the same instance as the original. Recovery of a
Service Manager database and a data warehouse database involves the following
procedures:

1. Start with a new computer with the same computer name and with the same
SQL Server instance as the computer that failed.

2. Restore the SQL Server database or databases using the same instance name as
the original. For more information, see Database Recovery in Service Manager in
this guide.

Next steps
Prepare for Service Manager disaster recovery.
Prepare for Service Manager disaster
recovery
Article • 04/26/2023

This article describes the steps that you must take for Service Manager disaster recovery
before problems occur. The steps that you take to recover from a disaster are based on
the completion of the steps that are outlined here. In general, preparing your Service
Manager environment for disaster recovery involves the following:

1. Deploying Service Manager with management servers and databases on separate


computers
2. Backing up the encryption keys on the Service Manager and data warehouse
management servers
3. Backing up the SQL databases
4. Backing up your unsealed management packs

Deployment strategy for disaster recovery


As a best practice, deploy your management servers and associated databases for
Service Manager on separate computers. Isolating the management servers and
databases provides for a successful disaster recovery operation in the event of potential
software and equipment failures.

You must have a functioning database to restore a failed management server. Recovery
of a management server is impossible if the management server and the associated
database are on the same physical computer and that computer fails. For more
information, see Installing Service Manager on Four Computers.

Back up Service Manager management servers


When you deploy Service Manager, an encryption key is created and stored in the
registry on the management servers. A matching encryption key is created in the
associated databases. The encryption keys for the Service Manager and data warehouse
management servers are stored in the Service Manager database. The matching
encryption key for the data warehouse management server is stored in the
DWStagingAndConfig database. By backing up the SQL Server databases, you back up
the encryption key.
In addition, the computer name of the management server and Self-Service Portal is
stored in the associated databases. Regardless of whether you encounter a software or
hardware failure of a management server or Self-Service Portal, your recovery process is
based on restoring a computer that has the same computer name as the computer that
failed.

The steps for recovering from a management server failure are as follows:

1. Restore the encryption keys before you run Setup, and install the new
management servers.
2. Install the new management server on a computer that has the same name as the
original computer.
3. When you install the management server, select Use an existing database, and
then specify the name of the computer that hosts the associated database.

For more information about these steps, see Implement Service Manager disaster
recovery.

Back up the Service Manager encryption key


Your disaster recovery strategy for Service Manager depends on backing up the
encryption keys as soon as you complete the Service Manager installation. After you
back up the encryption keys and store them in a safe location, you can recover from
software or hardware failures on the Service Manager and data warehouse management
servers.

You use the Encryption Key Backup or Restore Wizard to back up encryption keys on the
management servers and Self-Service Portal. This wizard is located on the Service
Manager installation media in the Tools\SecureStorageBackup folder.

Back up the encryption key


1. Sign in to the computer that hosts the Service Manager management server of
data warehouse management server by using an account that is a member of the
Administrators group.

2. In Windows Explorer, open the Tools\SecureStorageBackup folder on the


installation media.

3. Right-click SecureStorageBackup.exe and select Run as administrator to start the


Encryption Key Backup or Restore Wizard.

4. On the Introduction page, select Next.


5. On the Backup or Restore? page, select Backup the Encryption Key, and select
Next.

6. On the Provide a Location page, enter the path and file name for the encryption
key. For example, if you want to specify the file name SMBackupkey.bin for the
encryption key on the MyServer server in the Backup shared folder, enter
\\MyServer\Backup\SMBackupkey.bin, and select Next.

7. On the Provide a Password page, in the Password box, enter a password that
contains at least eight characters. In the Confirm Password box, reenter the same
password, and select Next.

) Important

Recovery of the password is not possible if the password is lost or forgotten.

8. After you see the message Secure Storage Backup Complete, select Finish.

Back up System Center - Service Manager


databases
There are up to eight databases in a System Center - Service Manager environment:

ServiceManager
DWDataMart
DWRepository
DWStagingAndConfig
ReportServer
Analyst
OMDWDataMart
CMDWDataMart

The first four databases in this list need to connect and exchange data with the Service
Manager and data warehouse management servers. Data is encrypted during these
exchanges. On the management servers, the encryption keys are backed up and
restored as necessary, as explained in this article. For the servers that host databases,
the encryption keys are stored in the databases themselves.

If a computer that hosts a database fails, all you need for recovery is the ability to
restore the databases, which include the encryption keys, to a computer with the same
name as the original computer. Your disaster recovery strategy for the Service Manager
databases should be based on procedures for general SQL Server disaster recovery. For
more information, see Planning for Disaster Recovery.

As part of your disaster recovery preparation, you run a script to capture the Security log
to preserve user role information for each database. After you deploy Service Manager
and, if necessary, run the Data Warehouse Registration Wizard, you use the SQL Server
Script Wizard to create a script that captures SQL Server logon permissions and object-
level permissions. Then, if you need to restore a new server for the Service Manager
databases, you can use this script to recreate the necessary logon permissions and
object-level permissions.

Enable common language runtime on SQL Server


During installation of the Service Manager database, Service Manager Setup enables
common language runtime (CLR) on the computer that is running SQL Server. If you
restore a Service Manager database to another computer running SQL Server, you must
enable CLR manually. For more information, see Enabling CLR Integration.

Start the SQL Server Script wizard


You can use the following procedure as part of your disaster recovery preparation steps
for Service Manager to generate a script to capture SQL Server logon permissions and
object-level permissions. You perform this procedure on the computer that hosts SQL
Server Reporting Services (SSRS) and on the computers that host the following Service
Manager and data warehouse databases:

DWDataMart
DWRepository
DWStagingAndConfig
ServiceManager
ReportServer

To start the SQL Server Script wizard

1. Using an account with Administrator privileges, sign in to the computer that hosts
the Service Manager or data warehouse database.
2. On the Windows desktop, select Start, point to Programs, point to the Microsoft
SQL Server version installed on your computer, and select SQL Server
Management Studio.
3. In the Connect to Server dialog, do the following:
a. In the Server Type list, select Database Engine.
b. In the Server Name list, select the server and the instance for your Service
Manager database. For example, select computer\INSTANCE1.
c. In the Authentication list, select Windows Authentication, and select Connect.
4. In the Object Explorer pane, expand Databases.
5. Right-click the database name, point to Tasks, and select Generate Scripts. For this
example, right-click ServiceManager, point to Tasks, and select Generate Scripts.
6. In the Generate and Publish Scripts Wizard, do the following:
a. On the Introduction page, select Next.
b. On the Choose Objects page, select Select specific database objects, and select
Select All.
c. In the database objects list, expand Tables.
d. Clear the checkbox for the following tables:

dbo.STG_Collation
dbo.STG_Locale
dbo.STG_MTD_ConverisonLog

e. Scroll up to the top of the list, and then collapse Tables.


f. Expand Stored Procedures.
g. Clear the checkbox for the following stored procedures:

dbo.STG_DTS_ConvertToUnicode
dbo.STG_DTS_CreateClonedTable
dbo.STG_DTS_InsertSQL
dbo.STG_DTS_ValidateConversion

h. Select Next.
i. On the Set Scripting Options page, select Save scripts, select Save to file, select
Single file, specify a file location in File name, and select Next.
j. On the Summary page, select Next.
k. When the script is complete, on the Save or Publish Scripts page, select Finish.
7. If you need to restore a database, use this script to set permissions.

Back up unsealed management packs


Part of the disaster recovery plan for your Service Manager management server involves
backing up your unsealed management packs. The following procedure describes how
to back up your unsealed management packs.

Back up unsealed management packs


You can use the Windows PowerShell command-line interface to identify and copy your
unsealed management packs to a folder on your hard disk drive. After you copy them,
save these management packs so that as part of your disaster recovery plan for Service
Manager you can later import these management packs.

To back up unsealed management packs

1. On the computer that hosts the Service Manager management server, create a
folder on the hard disk drive where you'll store the backup copy of the
management packs. For example, create the folder C:\mpbackup.

2. On the Windows desktop, select Start, point to Programs, point to Windows


PowerShell 1.0, right-click Windows PowerShell, and select Run as administrator.

3. In the Service Manager console, select Administration.

4. In the Tasks pane, select Start PowerShell Session

5. At the Windows PowerShell command prompt, enter the following command:

Get-SCSMManagementPack | where {$_.Sealed -eq $false}|Export-


SCSMManagementPack -Path c:\mpbackup

6. Save the unsealed management packs on a separate physical computer.

Next steps
Implement Service Manager disaster recovery.
Implement Service Manager disaster
recovery
Article • 03/16/2023

This article describes the steps needed to recover from potential software and
equipment failures in your System Center - Service Manager environment. It includes
information about how to recover Service Manager databases, management servers,
and unsealed management packs.

Restore a database
To restore a database (which includes the encryption keys) for Service Manager, you
rebuild a new computer using the same computer names and instance names as the
original. Your disaster recovery strategy for the Service Manager databases should be
based on general procedures for SQL Server disaster recovery. For more information,
see Planning for Disaster Recovery. Remember that if you restore a database, you must
give the new computer the same name as the original computer and use the same
instance name as the original instance.

In addition, you must use the script that you created in the Backing Up Unsealed
Management Packs in Service Manager article in this guide. You use this script to restore
permissions for the recreated database.

2 Warning

Long-term historical data is stored in the Service Manager data warehouse and the
current snapshot of the system is stored in the Service Manager database.
Recreating the Service Manager data warehouse databases should only be used as
a measure of last resort. When possible, you should try to restore the Service
Manager data warehouse databases from backups and avoid recreating those
databases. If reinstalled, the newly created Service Manager data warehouse
databases will be able to synchronize the current snapshot of the system from the
Service Manager database-however, historical data will be lost.

Recover a management server


This section describes how to recover a Service Manager management server or a data
warehouse management server. If you installed additional Service Manager
management servers, you've the option of promoting an additional Service Manager
management server. Regardless of whether you encounter software or hardware failures
of the Service Manager management server, your recovery process is based on restoring
a computer that has the same computer name.

For either management server, your first step must be to restore the encryption key
before you start the management server setup.

Restore the Service Manager encryption key


You can use the following procedure to restore the encryption keys before you run
Setup.exe to restore a part of Service Manager.

To restore the encryption key


1. Sign in to the computer that will host the Service Manager part that you're
attempting to recover by using an account that is a member of the Administrators
group. For example, sign in to the computer that will host the Service Manager or
data warehouse management servers.

2. In Windows Explorer, open the Tools\SecureStorageBackup folder on the


installation media.

3. Right-click SecureStorageBackup.exe and select Run as administrator to start the


Encryption Key Backup or Restore Wizard.

7 Note

In this release, the wizard contains references to Operations Manager. This


issue will be resolved in a future release.

4. On the Introduction page, select Next.

5. On the Backup or Restore? page, select Restore the Encryption Key, and select
Next.

6. On the Provide a Location page, enter the path and file name for the encryption
key. For example, if you want to specify the file name SMBackupkey.bin for the
encryption key on the server MyServer in the Backup shared folder, enter
\\MyServer\Backup\SMBackupkey.bin, and select Next.
7. On the Provide a Password page, enter the password that you used to back up the
encryption key in the Password box. In the Confirm Password box, reenter the
same password, and select Next.

8. After you receive the message Secure Storage Key Restore Complete, select
Finish.

Restore the server


You can use the following procedure to reinstall a management server in Service
Manager.

7 Note

You must restore the encryption key before starting this procedure.

To recover a Service Manager management server

1. Sign in to the computer that will host the new Service Manager management
server using an account that has administrator rights.
2. On the Service Manager installation media, double-click the Setup.exe file.
3. On the Service Manager Setup Wizard page, select Service Manager
management server.
4. On the Product registration page, enter the information in the text boxes. If
applicable, select I have read, understood, and agree with the terms of the
license agreement, and select Next.
5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which you
want to install the Service Manager management server.
6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.
7. On the Configure the Service Manager database page, do the following:
a. In Database server, enter the name of the computer that is hosting the Service
Manager database, and then press the TAB key.
b. Select Use an existing database.
c. Select the Database list, select the database name for the Service Manager
database (the default name is ServiceManager), and select Next.
8. On the Configure the Service Manager management group, wait until the
Management group name and Management group administrators fields have
been populated. Then select Next.
9. On the Configure the account for Service Manager services page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. Ensure that you receive the following message: The credentials
were accepted, and select Next.
10. On the Help improve System Center page, indicate your preference for
participation in both the Customer Experience Improvement Program and Error
Reporting. For more information, select Tell me more about the program, and
select Next.
11. On the Installation summary page, select Install.
12. On the Setup completed successfully page, select Close.

Recover a data warehouse management server


You can use the following procedure to reinstall a data warehouse management server
for Service Manager.

7 Note

You must restore the encryption key before starting this procedure.

To recover a data warehouse management server


1. Sign in to the computer that will host the new data warehouse management server
using an account that has administrator rights.

2. On the Service Manager installation media, double-click the Setup.exe file.

3. On the Service Manager Setup Wizard page, select Service Manager data
warehouse management server.

4. On the Product registration page, enter the information in the boxes. If applicable,
select I have read, understood, and agree with the terms of the license
agreement, and select Next.

5. On the Installation location page, verify that sufficient free disk space is available,
and select Next. If necessary, select Browse to change the location in which you
want to install the Service Manager data warehouse management server.

6. On the System check results page, ensure that the prerequisite check passed or at
least passed with warnings, and select Next.

7. On the Configure the data warehouse database page, do the following:


a. In the Select a database to change its default properties area, select Staging
and Configuration.
b. In Database server, enter the name of the computer that is hosting data
warehouse databases, and then press the TAB key.
c. Select Use an existing database.
d. Select the Database list, select the database name for the Staging and
Configuration database (the default name is DWStagingAndConfig), and select
Next.

8. On the Configure the data warehouse management group page, wait until the
Management group name and Management group administrators fields have
been populated, and select Next.

9. On the Configure the reporting server for the data warehouse page, in the
Report server text box, enter the computer name of the computer that hosts SQL
Server Reporting Services (SSRS), and select Next.

7 Note

You must use the original URL for the Reporting Server.

10. On the Configure the account for Service Manager services page, select Domain
account; specify the user name, password, and domain for the account; and select
Test Credentials. Ensure that you receive the following message: The credentials
were accepted, and select Next.

11. On the Configure the reporting account page, specify the user name, password,
and domain for the account, and select Test Credentials. After you receive a The
credentials were accepted message, select Next.

12. On the Help improve System Center page, indicate your preference for
participation in both the Customer Experience Improvement Program and Error
Reporting. For more information, select Tell me more about the program, and
select Next.

13. On the Use Microsoft Update to help keep your computer secure and up-to-date
page, indicate your preference for using Microsoft Update to check for Service
Manager updates, and select Next.

14. On the Installation summary page, select Install.

15. On the Setup completed successfully page, select Close.


Promote a Service Manager management server
When you first ran Setup for Service Manager, you installed the initial Service Manager
management server and you defined the management group for your installation. The
initial management server handles all the workflows in your Service Manager
environment. You can use additional Service Manager management servers to load-
balance Service Manager console connections. Also, you can promote one of the
additional Service Manager management servers to take over the role of a failed initial
Service Manager management server. For more information, see Deploying Additional
Service Manager Management Servers.

You can use the following procedures to promote a secondary Service Manager
management server.

To prepare the secondary management server


1. On the secondary management server, close the Service Manager console.
2. On the Windows desktop, select Start, and select Run.
3. In the Run dialog, in the Open text field, enter services.msc, and select OK.
4. In the Services window, in the Services (Local) pane, locate the following three
services, and for each one select Stop:

System Center Data Access Service


Microsoft Monitoring Agent
System Center Management Configuration

5. Leave the Services window open.


6. Open Windows Explorer. Locate the folder \Program Files\Microsoft System Center
<version>\Service Manager.
7. In this folder, delete the Health Service State folder and all of its contents.

To define the computer name for the Service Manager database

1. On the Service Manager database, on the Windows desktop, select Start, point to
Programs, point to Microsoft SQL Server, and select SQL Server Management
Studio.

2. In the Connect to Database Engine dialog, do the following:


a. In Server name, enter the name of the server that hosts the Service Manager
database.
b. In Authentication, select Windows Authentication.
c. Select Connect.
3. In the Object Explorer pane, expand Databases, and select ServiceManager.

4. On the toolbar, select New Query.

5. In the SQLQuery1.sql pane (the center pane), type the following, where <FQDN of
your server> is the fully qualified domain name (FQDN) of the management server
that you're promoting:

EXEC p_PromoteActiveWorkflowServer '<FQDN of your server>'

6. On the toolbar, select Execute.

7. At the bottom of the SQLQuery1.sql pane (the center pane), confirm that the
"Query executed successfully" message appears.

8. Exit Microsoft SQL Server Management Studio.

To restart the services on the secondary management server

1. On the secondary management server, on the Windows desktop, select Start, and
select Run.
2. In the Run dialog, in Open, enter services.msc, and select OK.
3. In the Services window, in the Services (Local) pane, locate the following three
services, and for each one select Start.

System Center Data Access Service


Microsoft Monitoring Agent
System Center Management Configuration

Your secondary management server is now the primary management server for the
management group.

Import Service Manager unsealed management


packs
After you've restored your Service Manager management server, the next step is to
import unsealed management packs.

Import management packs


You can use this procedure to import the unsealed management packs that you saved
earlier as part of your disaster recovery procedures for Service Manager.

To import management packs

1. In the Service Manager console, select Administration.


2. In the Administration pane, expand Administration, and select Management
Packs.
3. In the Tasks pane, under Management Packs, select Import.
4. In the Select Management Packs to Import window, under Favorite Links, specify
the location where you backed up your unsealed management packs, select the
files, and select Open.
5. In the Import Management Pack window, select Import.
Author with System Center - Service
Manager
Article • 06/05/2023

Authoring in Service Manager (SM) refers to using, authoring, and customizing


management packs, which enable customizations in Service Manager. The articles in this
section provide an introduction to authoring in Service Manager, including an overview
of the Service Manager Authoring Tool.

Introduction to authoring with the Service


Manager Authoring Tool
Service Manager automates help desk functions, such as ticketing and change request
processes, to help organizations manage their help desks. Service Manager integrates
with Active Directory Domain Services (AD DS), Operations Manager, and Configuration
Manager to build a single, reconciled inventory of an organization's assets.

Service Manager uses management pack files that contain object definitions for the
various features of the product. You can customize the behavior of Service Manager and
extend it by creating and modifying management packs. This authoring guide describes
the use, authoring, and customization of management packs.

The Service Manager Software Development Kit (SDK) contains information that you
might need when you're authoring with Service Manager. The SDK includes reference
information for the class libraries and documents that the schema uses to create XML-
based management packs. To download the documentation for the System Center
Service Manager SDK, see System Center Service Manager Software Development Kit
(SDK) Documentation.

Overview of management packs


Management packs in Service Manager are XML-based files that contain definitions for
classes, workflows, views, forms, and reports. You can use management packs to do the
following:

Extend Service Manager with new objects


Extend Service Manager with new behavior
Store new custom objects that you created, such as forms or templates.
Transport customizations to another Service Manager deployment or implement
the customizations in a newer deployment

You can use management packs to extend Service Manager with the definitions and the
information necessary to implement all or part of a service management process.

By default, the Service Manager installation folder contains several preimported


management packs that enable core Service Manager features, such as incident
management and change management.

) Important

Unsealed management packs aren't automatically upgraded during an upgrade to


Service Manager.

Overview of authoring methods for Service Manager


There are three methods that you can use to customize Service Manager. While all the
three methods result in changes to a management pack file, they differ in scope and in
the complexity of the customization that they provide.

The three methods for customizing and extending Service Manager are as follows:

Using the Service Manager console


Using the Service Manager Authoring Tool
Directly modifying and authoring management pack files

In general, we recommend that you use the Service Manager console or the Authoring
Tool for simple customizations and that you work directly with the management pack
files only for customizations that the Service Manager console and the Authoring Tool
don't support.

Service Manager console

The Administration pane and the Authoring pane in the Service Manager console
provide for limited ad hoc customization of Service Manager features. When you
customize Service Manager features in the Service Manager console, the customizations
are stored in new or existing unsealed management packs and in the Service Manager
database. (Unsealed management packs are management packs that you can modify.
For more information about sealed and unsealed management packs, see Management
Packs: Key Concepts).
The Service Manager console provides for the following customizations:

In the Administration pane, you can customize settings for activities, change
management, incident management, and notifications. For example, you can
configure the list notification recipients when an incident changes status.
In the Authoring pane, you can make simple customizations to objects such as
queues, lists, and views.

Authoring Tool
The Authoring Tool provides an environment in which you can open, view, customize,
extend, and author Service Manager management packs. You can use the Authoring
Tool to modify some class properties, customize forms in a graphical form designer, and
modify and create Service Manager workflows.

You can also use the Authoring Tool to create advanced customizations that require
testing and verification before implementation. The Authoring Tool doesn't require
advanced user skills or advanced knowledge of the internal architecture of Service
Manager.

Directly modifying and authoring management pack files


For extensive or complex customizations and for customizations that require coding
(such as extending the data in the Service Manager database, customizing forms, or
modifying the default behavior of a feature's workflow), you've to edit the .xml file of the
corresponding management pack directly. Working directly with management pack files
requires in-depth knowledge in several areas, such as the System Center Common
Schema and the structure of management packs. Also, manual editing is prone to errors.

Overview of the Authoring Tool for Service Manager


The Authoring Tool is a tool in Service Manager that you can use to open an existing
management pack so that you can view, customize, and extend it. Using the Authoring
Tool, you can do the following:

Extend and customize the Service Manager class model


Customize forms
Create and customize workflows

You can also use the Authoring Tool to create new Service Manager management packs.
By authoring management packs, you can customize the features of Service Manager.
After you modify or create a management pack, you must save it and then import it into
Service Manager.

Requirements for the Authoring Tool

Before you set up the Authoring Tool in Service Manager, ensure that the server on
which you plan to install the Authoring Tool meets all the following server and operating
system requirements.

Server requirements

You can install the Authoring Tool on a server that hosts the Service Manager
management server, or you can install it on a separate server.

Operating system requirements

Windows 10
Windows Server 2019 with the latest service pack
Windows Server 2016

Additional requirements

Microsoft .NET Framework 3.5 , which you can download from the Microsoft
Download Center.

Microsoft Visual Studio 2008 Shell, which must be in the same language as the
display language of the operating system. You can install Visual Studio 2008 Shell
from the Prerequisites page in the Service Manager Authoring Tool Setup Wizard.

7 Note

During Authoring Tool Setup, if an error appears stating that Microsoft Visual
Studio Shell 2008 isn't installed and you've verified that it's installed, then the
Visual Studio 2008 Shell Isolated Mode Redistributable Package might not be
installed completely. To install it, navigate to <SystemDrive>\VS 2008 Shell
Redist\Isolated Mode\ and run VS_Shell_isolated.enu.exe.

Set up the Authoring Tool


The SCSM<version>_AuthoringTool_RTM.exe program file contains the Service Manager
Authoring Tool .msi installation package and support files. This includes the files that are
required for customizing default Service Manager forms. Ensure that the user who will
be running the Authoring Tool has access to the local folder that you used to extract the
files from the SCSM<version>_AuthoringTool_RTM.exe program file.

If Windows Error Reporting is enabled on the computer that is running the Authoring
Tool, errors are reported automatically.

To install the Authoring Tool

1. Verify that the computer on which you plan to install the Authoring tool meets the
requirements.

2. Download the required version of the SM Authoring tool to a local computer on


which you want to install the Authoring tool.

Download 2016 SM Authoring tool


Download 1801 SM Authoring tool

3. Double-click the downloaded zip file, read through the license agreement, and
extract the files to the desired location.
4. Browse to the folder where you extracted the files, expand the CDImage folder,
and locate Setup.exe and double-click Setup.exe file.
5. In the Service Manager Authoring Tool Setup Wizard, select Install the Service
Manager Authoring Tool.
6. Continue through the Product registration and the Installation location pages.
7. On the Prerequisites page, if any prerequisite test fails, you must update the server
to ensure that each prerequisite is met. If Microsoft Visual Studio 2008 Shell isn't
installed, select Install Microsoft Visual Studio Shell 2008 to install the application.
Select Check prerequisites again, and fix any other problems until all prerequisite
tests pass.
8. Continue through the Use Microsoft Update to help keep your computer secure
and up-to-date pages.
9. On the Installation summary page, select Install and wait for the installation to
finish.

To start the Authoring Tool

1. On your desktop, select Start.


2. Select Programs, select Microsoft System Center, and select Service Manager
<version> Authoring.
3. Select Service Manager Authoring Tool, and wait for the Authoring Tool to open.
4. In the Class Browser pane, select Refresh. This populates the browser with all the
classes that are defined in management packs from the <Installation
folder>/Library folder. When you opened the Authoring Tool for the first time, this
pane was empty.

Authoring Tool panes


In the Service Manager Authoring Tool, you can open a management pack, view and
customize its objects, and author new objects.

The Authoring Tool has several panes. You can resize, dock, undock, move, or close each
pane according to your preferences. You can open any of the panes in the Authoring
Tool from the View menu.

The following sections describe the panes in the Authoring Tool.

Class browser

The Class Browser pane displays the classes and their properties from all the
management packs that are in the Library folder and all the management packs that
have been opened in the Authoring Tool. You can also drag a property from this pane to
add a control to a form that you're authoring in the authoring pane.

Form browser

The Form Browser pane displays a list of forms from all the management packs that are
in the Library folder or from a specific management pack. From this pane, you can locate
and select a form to view or to customize in the authoring pane, without knowing the
exact management pack of the form. From this pane, you can also view the details of a
form in the Details pane.

Management pack explorer

In this navigation pane, you can view management packs and their objects. The objects
are grouped by types. The Management Pack Explorer displays classes, forms,
workflows, and references. You can also select a specific object, such as a form, to
customize.

Authoring
The authoring pane displays the tabs in which you change or create management pack
objects, such as forms and classes. For example, when you customize or author forms,
this pane displays the user interface (UI) controls of a form so that you can add, move,
or change these controls to customize the appearance and behavior of the form.

The authoring pane also contains the Start Page tab, which displays the Authoring Tool
Overview page.

Details

The Details pane displays details, such as properties, for a selected object. The
information in this pane is updated every time you select an object in the Management
Pack Explorer, authoring pane, Class Browser pane, or Form Browser pane. You can
make changes directly in this pane to update property values.

Form customization toolbox

The Form Customization Toolbox pane displays basic UI controls that you can drag to
the authoring pane when you customize forms.

Activities toolbox

The Activities Toolbox pane displays activities that you can use as building blocks when
you author workflows.

Upgrade management packs to work with the Authoring Tool


During an upgrade to Service Manager, all customized Service Manager management
packs are unsealed. (Unsealed management packs are management packs that you can
modify. For more information about sealed and unsealed management packs, see
Management Packs: Key Concepts). Management packs are copied to the new Service
Manager folders without any further upgrade-related processing. Using these custom
management packs that were authored in previous versions of System Center, Service
Manager is supported. However, there are some issues to be aware of, and you may
have to make some updates to these management packs to ensure that they work
properly and as intended after the upgrade to Service Manager.

Forms

The placement of a control in a form is determined by its top, bottom, left, and right
margins in relation to either its parent control or to the form itself. In a customized form,
this method can cause controls to be adjusted improperly when the margins of the
parent control or of the form are modified.

As a result of updated styles that were implemented in System Center 2012 - Service
Manager, some custom forms that were authored in System Center Service Manager
2010 might have layout issues when they're imported into Service Manager. Depending
on the customization, some controls might be placed incorrectly, causing issues such as
overlapping and clipping. Some of these issues affect only how the form looks, and
other issues can prevent some intended functionality of the form.

The following sections describe the issues that you might encounter when you import
into Service Manager forms that were authored in System Center Service Manager 2010.
These sections also describe how you can use the Service Manager Authoring Tool to
rectify these issues to ensure that these forms look and function as intended.

Clipping and overlapping controls

Some controls on a form might appear clipped, with incomplete border lines and cut-off
text. Sometimes this issue appears with another issue in which the controls overlap each
other. Also, some controls on a form might not be visible, causing some functionality of
the form to be unavailable.

To rectify these issues, you may have to use the Authoring Tool to adjust the control's
properties as follows. You may have to try several remedies, and you may have to make
several attempts before the control is placed correctly.

Select the affected control, and check the value of its Margin properties: Bottom,
Left, Right, and Top. For example, set the values of these properties to 0, or to a
positive value, to ensure that there are no negative values that cause the control to
be placed incorrectly.
Check the values of the affected control's Layout group properties: Horizontal
Alignment and Vertical Alignment. You may have to set the values of these
properties to Stretch for better control alignment.
Place the affected control in a grid inside a Panel control for better control
alignment.
Set the parent control's dimensions to Auto to allow its size to shrink or grow
dynamically.
Set the Height property of the container of the affected control to Auto. This
allows the width and the height of controls to be automatically adjusted correctly
to fit the container of the object.

Shuffle controls
Some controls on a form might be shuffled with each other, resulting in controls not
being placed in their designated location on the form.

To rectify this issue, use the Authoring Tool to do one of the following:

Drag controls to their desired location on the form.


Select the control that is shuffled. In the Details pane, in the Margin properties
group, adjust properties such as Bottom or Left to place the control in the desired
location.
Select the control that contains the shuffled control. In the Details pane, modify its
properties such as Bottom or Left in the Margin properties group.

Workflows

Workflows that were developed in System Center Service Manager 2010 are supported
in Service Manager.

Virtual Machine management activities

The Virtual Machine Management (VMM) workflow activities in Service Manager support
System Center Virtual Machine Manager 2008 R2. However, these activities don't
support System Center VMM.

If you're trying to automate the IT processes that require the use of an activity that
supports VMM, using System Center - Orchestrator runbooks and VMM instead might
be helpful.

Next steps
Learn about customizing objects functionality in Service Manager with
Management packs in the Authoring Tool.
Customize and author classes with Service Manager authoring.
Management packs in the Service
Manager
Article • 03/16/2023

All customizations to objects and to functionality in Service Manager are implemented


using management packs. This section describes management packs and how to use
and manage them to implement various types of customizations using different
customization methods.

Key concepts about management packs


Before you work with management packs in Service Manager, you should be familiar
with the following management pack concepts.

Sealed and unsealed management packs


There are two types of management packs:

Sealed management packs: A sealed management pack (.mp file) can't be


modified.

Unsealed management packs: An unsealed management pack (.xml file) can be


modified.

Other than lists and forms, objects such as views that are defined in a sealed
management pack can't be customized. Customizing a list that is defined in a sealed
management pack includes adding list items. Customizing a form that is defined in a
sealed management pack includes adding fields.

You can't unseal a management pack that is sealed. To modify objects that are stored in
a management pack that you've already sealed, you can modify the original unsealed
management pack file from which the sealed management pack was created.
Alternatively, you can import the sealed management pack, and export it to a new
unsealed management pack, that can be modified. After you import a sealed
management pack, you can't import the unsealed version of the same management
pack until you delete the sealed version.

Model management pack


A model management pack is a management pack that contains definitions for basic
objects, such as classes, combination classes, and relationship types.

Building model management packs makes it possible for other customizations—


typically, customizations that are related to presentation, such as templates, views, and
tasks—to be stored in separate management packs that depend on the model
extensions. In addition, model management packs are easily transferred into the data
warehouse for archiving and reporting purposes.

Dependencies, resources, and bundling management


packs
A management pack can depend on another management pack that is sealed. For
example, a custom template in one management pack can depend on a list that is
defined in another management pack. The management pack that contains the base
definitions (such as the list), on which other definitions depend, must be sealed. A
management pack can also require resources, such as a form or an image, that are
stored separately.

When you deploy a management pack that has resource requirements, you must bundle
the required resources and the management pack into a single management pack file
that can be imported into Service Manager.

In addition, if a management pack has dependencies on other management packs,


those dependent management packs must be imported first. As an alternative, you can
bundle the dependent management packs along with the required resources and the
depending management pack.

For more information about how to bundle a management pack with its resources and
dependent management packs, see the How to Bundle Management Packs and
Resource Files.

Management pack customization


You might have to customize and extend the default, preimported management packs
so that information technology (IT) professionals and other users in your organization
can extend the existing solutions and customize them to meet your business and
customer needs. To customize features in Service Manager, you can add new objects or
modify the objects that are related to that feature.

A customization to an object is a modification that applies to the base definition of the


object. For customizations to be able to be applied to a base definition, the base
definition must be stored in a sealed management pack. And because it isn't possible to
save customizations in the sealed management pack that contains the object's base
definition, you always have to use or create another unsealed management pack to
store customizations.

Typically, when you customize objects from a default, preimported management packs,
you work with two management packs. The first management pack is the sealed
management pack that contains the base definitions of objects, and the second
management pack, which is initially unsealed, contains the customizations to the base
object. In this case, the management pack with the customization depends on the
management pack that contains the base definition of the object.

When you customize objects that are defined in an unsealed management pack, you can
use the same management pack to store the customizations.

After you complete the customizations, you can deploy them by importing the
management pack into Service Manager. During an import of a sealed management
pack, Service Manager synchronizes the Service Manager database and the data
warehouse database with the definitions from the management pack. During an import
of an unsealed management pack, other than list definitions, Service Manager
synchronizes only the Service Manager database with the definitions from the
management pack. List definitions in an unsealed management pack are synchronized
to both databases.

Guidelines and best practices for management


packs
The following guidelines and best practices for working with management packs in
Service Manager are described in this section.

Group customizations into separate management packs.

Seal model management packs.

Create your own custom management packs when possible.

Export custom management packs.

Work across multiple management groups.

Group customizations into separate management packs


Group customizations into separate management packs as follows:
Store model extensions and presentation extensions in separate management
packs.

We recommend that you store the following objects in a model management pack:

New classes and class extensions, including properties and corresponding icons

New lists

Combination classes

Relationships

Child EnumerationValues that shouldn't be modified

Forms for viewing and editing objects of the defined classes, and the respective
assembly resources

Group customizations by the solution that you're developing. For example, store
incident-management-related customizations and settings separately from
change-management-related customizations and settings.

Group customizations based on usage considerations. For example, store


customizations that you need to test and deploy as a unit in the same
management pack.

Seal model management packs


You should seal management packs that contain base classes and other model objects
on which other definitions in other management packs depend. Sealing a management
pack prevents it from being modified. Also, it's important to seal a management pack so
that its definitions are synchronized with the data warehouse database during import.
This makes it possible for you to later add customizations (in another management
pack), such as presentations, that depend on the base objects from the sealed
management pack.

Create your own custom management packs when


possible
Some of the solution-specific, preimported, unsealed management packs
("Configuration" management packs) contain customizable elements for the specific
solution. In some cases, you must store your customizations in those preimported
management packs to ensure that the management pack adheres to the dependency
rules. For example, templates that use list values that are defined in a "Configuration"
management pack must be stored in that same management pack. This is because the
list values that are used are defined in another unsealed management pack, and
dependency on unsealed management packs isn't supported.

However, whenever possible we recommend that you create new management packs to
store your customizations. Creating your own management pack simplifies
transportation of the management pack, and it can simplify an upgrade.

For example, when you extend a solution by adding objects, such as views, tasks,
groups, queues, and form customizations—objects that have dependencies on other
objects that are defined in sealed management packs—you should create a new
management pack to store the custom objects.

Export custom management packs


Periodically, export your customized management packs from the Service Manager
database, and store the backup file on a hard drive. This will ensure that custom
management packs are synchronized with the management packs in the Service
Manager database. It will also make it possible for you to restore the customizations to
the Service Manager database, if necessary.

Work across multiple management groups


Ensure that you don't make different customizations to the same management pack in
different management groups. To implement customizations across multiple
management groups, you can import the same customized management pack in the
other management groups.

For example, if you want to have the same enumerations in multiple management
groups, make the change in one management group, and then copy the custom
management pack to the rest of the management groups. That way, the version and
identity of the management pack is identical in all the management groups.

Next steps
Work with management packs in the Service Manager console.
Work with management packs in the Service Manager Authoring Tool.
Work with management pack XML files.
Work with management packs in the
Service Manager console
Article • 03/16/2023

When you make customizations in the Service Manager console, you save them in a
management pack file. Sometimes, you've to first create a new management pack file.
Later, to implement the customizations of the management pack, you import it into the
Service Manager console.

When you create a management pack in the Service Manager console, you provide the
display name for the management pack. Service Manager generates a random ID that is
used as the internal name for the management pack and that becomes the
management pack's file name. If you need to further customize objects in that
management pack by directly modifying its XML code, it might be difficult to locate the
management pack file that you want to edit. In that case, we recommend that you
modify the management pack internal file name to be a meaningful name, and use it as
follows:

Edit the management pack XML file itself; change the internal management pack
name to the new name.

Rename the management pack file on the hard drive to the new name.
Work with management packs in the
Service Manager Authoring Tool
Article • 03/16/2023

Service Manager objects are stored in management packs. To modify an object using
the Service Manager Authoring Tool, you open the management pack file that contains
that object. To capture changes that you made in the Authoring Tool, you then save the
changes in the original management pack file or in a new management pack file. If the
original object that you changed is defined in a sealed management pack, you must
save your changes in a new or an existing unsealed management pack. Unlike Service
Manager, to save modified objects the Authoring Tool manipulates the actual
management pack files on the hard drive-in an offline mode, without direct interaction
with the Service Manager database.

Later, to implement these changes, you import the management pack file into the
Service Manager console, which updates the Service Manager database with the
information from the management pack file. You can also import the management pack
file into a different environment, such as a production environment. When you import a
management pack, the Service Manager server examines the XML code in the
management pack file. If the management pack file contains XML code that isn't valid,
the management pack isn't imported.

The procedures in this section describe how to work with management pack files in the
Authoring Tool.

Open a management pack file in the Authoring


Tool
If you want to customize objects that are defined in a management pack in Service
Manager, you've to open the management pack file that contains these objects in the
Service Manager Authoring Tool. You can use the following procedure to open a
management pack file in the Authoring Tool.

The Management Pack Explorer pane in the Authoring Tool displays all the
management packs that are open. A management pack that you open and change is
designated with an asterisk (*)—for example, CustomMP*—until it's saved.

When you select a management pack file to open, the system opens the specified
management pack. In addition, it opens the following management packs:
All the other management packs that are located in the same folder as the
management pack that you're opening

All the management packs in the Library folder in the Service Manager installation
folder, for example, in the \Program Files (x86)\Microsoft System Center\Service
Manager Authoring\Library folder

This is important because the definitions from all open management packs co-exist in
the Authoring Tool; therefore, they can't contradict each other.

7 Note

You can't create new management pack files in the <Authoring Tool
Installation>\Library folder.

To open a management pack file


1. On your desktop, select Start.

2. Select Service Manager Authoring Tool, and wait for the Authoring Tool to open.

3. In the Authoring Tool, on the menu bar, select File, and select Open.

4. In the Open File dialog, select the management pack file that you want to open,
and select Open. The file that you select must have an .xml or .mp file name
extension. For example, select Management Packs as the file type, and then select
the following management pack file:

<Authoring Tool installation drive>\Program Files (x86)\Microsoft System


Center\Service Manager
Authoring\Library\ServiceManager.IncidentManagement.Library.mp

5. Wait for the management pack to open, and then verify that it's displayed in the
Management Pack Explorer pane.

You can now select the management pack file that you opened, and you can expand
Classes, Forms, Workflows, or References to view the objects of the management pack.

Create a new management pack file in the


Authoring Tool
To be able to implement customizations that you make in the Service Manager
Authoring Tool, you've to save them to a management pack file.

If you customize an object from a sealed management pack, you won't be able to save
that customization in the original sealed management pack. In this case, you can either
use an existing unsealed management pack or you can create a new management pack,
which by default will be unsealed.

You can use the following procedure to create a new management pack file.

To create a new management pack file


1. On your desktop, select Start.

2. Select Service Manager Authoring Tool, and wait for the Authoring Tool to open.

3. In the Authoring Tool, on the menu bar, select File, and select New.

4. In the New Management Pack dialog, enter a file name and a location for the new
management pack file.

Ensure that the file name that you enter doesn't contain spaces or special
characters, and don't specify the Authoring Tool installation folder as the location
for new and customized management pack files.

5. Select Open.

6. In the Management Pack Explorer, verify that the new management pack is listed.

Next steps
Work with management pack XML files.
Work with Service Manager
management pack XML files
Article • 03/15/2023

For elaborate customizations of management packs, the Service Manager console and
the Service Manager Authoring Tool might not be sufficient, and you might need to
author or modify management pack files directly. Working directly with management
pack files requires in-depth knowledge in several areas such as the System Center
Common Schema and the structure of management packs.

This section provides background information and guidelines that can help you author
and modify management packs to customize Service Manager.

Changes to the System Center Common


Schema
Service Manager includes an updated version of the System Center Management Pack
Schema. This schema is now called the System Center Common Schema, and it includes
a number of improvements and additions that are intended to enhance the existing
functionality and enable Service Manager features. This article describes the changes to
the System Center Common Schema.

Properties and property restrictions


The common schema extends classes through several new property types. These
property types include the binary, enumerator, and auto-increment types.

In addition, you can define restrictions on certain property values. For example, you can
define a regular expression restriction on a string property value. In the following
example, the BuildingName property has a regular expression restriction that is defined
so that only a value that contains the word Building followed by a space and a number
is considered valid.

<ClassType ID="Lobby" Accessibility="Public" Base="System!System.Entity">


<Property ID="Id" Type="int" Key="true" />
<Property ID="BuildingName" Type="string" RegEx="Building [0-9]+" />
</ClassType>
Images
Images aren't stored inside a management pack. Therefore, the <PresentationTypes>
section of the management pack no longer contains the <Images> , <Image> , or
<ImageData> tags. Instead, use an image resource.

<Resources>
<Image ID="TestLibrary.Resources.Image1" Accessibility="Public"
FileName="image.png"/>
</Resources>

Enumerations
The common schema supports enumerations. Enumerations are a tree of values that you
can use to restrict the value of a property or attribute.

Each enumeration has a required unique ID attribute and an optional Parent attribute.

In the following example, the XBoxState enumeration is defined with three possible
values: Running, Stopped, and Error.

<EnumerationTypes>
<EnumerationValue ID="XBoxState" Accessibility="Public"/>
<EnumerationValue ID="XBoxState.Running" Parent="XBoxState"
Accessibility="Public"/>
<EnumerationValue ID="XBoxState.Stopped" Parent="XBoxState"
Accessibility="Public"/>
<EnumerationValue ID="XBoxState.Error" Parent="XBoxState"
Accessibility="Public" />
<EnumerationValue ID="XBoxState.Error.RROD" Parent="XBoxState.Error"
Accessibility="Public" />
</EnumerationTypes>

In the following example, the Xbox class defines an enum property of type XBoxState.
<ClassType ID="XBox" Accessibility="Public" Base="System!System.ConfigItem"
Hosted="true">
<Property ID="Id" Type="int" Key="true" />
<Property ID="Name" Type="string" />
<Property ID="State" Type="enum" EnumType="XBoxState" />
</ClassType>

Relationships
The functionality of relationship definitions has been enhanced in the common schema.
The RelationshipType type now has Source and Target subelements with ID properties
that can be used as display names. In addition, you can define minimum and maximum
cardinality for both the source and target; for example, 1-to-1 or 0-to-many
relationships.

Cardinality isn't enforced by the management pack validation process, but it's intended
to help define user interfaces for the management pack. For example, cardinality can be
checked to determine whether a field can be represented in a form by a text box or by a
list.

) Important

Any MaxCardinality value that is defined as greater than 1 is processed as


unlimited.

If you add a new relationship type from your own management pack, users must have
sufficient privileges to update all properties of the source and target class instances of
the relationship type in order to create an instance of the new relationship type.

In the following example, a hosting relationship called HasXboxes between the Lobby
type and the Xbox type is defined. In this relationship definition, each Lobby type can
have multiple Xbox types.

<RelationshipType ID="HasXBboxes" Accessibility="Public"


Base="System!System.Hosting">
<Source ID="Source" Type="Lobby" />
<Target ID="Target" Type="Xbox" MinCardinality="0" MaxCardinality="9999"
/>
</RelationshipType>

Combination classes
Combination classes represent an aggregation of multiple related types in the
management pack, similar to views that are defined in a Microsoft SQL Server database
that can return data from multiple tables. Combination classes store and retrieve all the
aggregated data in one operation to the database, and they can make it easier to define
user interfaces for a management pack.

In the following example, a projection is defined for an incident management view. This
projection combines several different components that are related to an incident into
one unit that can be used more easily for forms and for database operations.

<TypeProjections>
<TypeProjection ID="System.WorkItem.Incident.View.ProjectionType"
Accessibility="Public" Type="Incident!System.WorkItem.Incident">
<Component Alias="AffectedUser"
Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedForUser']$"/>
<Component Alias="AssignedUser"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
</TypeProjection>
<TypeProjection ID="System.WorkItem.Incident.View.DCMProjectionType"
Accessibility="Public" Type="Incident!System.WorkItem.Incident.DCMIncident">
<Component Alias="AffectedUser"
Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedForUser']$"/>
<Component Alias="AssignedUser"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
<!--Baseline and Configuration Item Information-->
<Component Alias="AffectedComputer"
Path="$Target/Path[Relationship='Incident!System.WorkItem.Incident.DCMIncide
nt.Refers.NonComplianceComputer']$"/>
</TypeProjection>
<TypeProjection ID="System.WorkItem.ChangeRequestViewProjection"
Accessibility="Public" Type="System.WorkItem.ChangeRequest">
<Component Alias="AssignedTo"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
</TypeProjection>
<TypeProjection ID="System.WorkItem.ChangeRequestProjection"
Accessibility="Public" Type="System.WorkItem.ChangeRequest">
<Component Alias="Activity"
Path="$Target/Path[Relationship='SMActivity!System.WorkItemContainsActivity'
]$">
<Component Alias="ActivityAssignedTo"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
<Component Alias="ActivityRelatedWorkItem"
Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToWorkItem']$"
>
<Component Alias="ActivityRelatedWorkItemAssignedTo"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
</Component>
<Component Alias="ActivityRelatedConfigItem"
Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToConfigItem']
$"/>
<Component Alias="ActivityAboutConfigItem"
Path="$Target/Path[Relationship='System!System.WorkItemAboutConfigItem']$"/>
<Component Alias="ActivityFileAttachment"
Path="$Target/Path[Relationship='System!System.WorkItemHasFileAttachment']$"
>
<Component Alias="ActivityFileAttachmentAddedBy"
Path="$Target/Path[Relationship='System!System.FileAttachmentAddedByUser']$"
/>
</Component>
<Component Alias="Reviewer"
Path="$Target/Path[Relationship='SMActivity!System.ReviewActivityHasReviewer
']$">
<Component Alias="User"
Path="$Target/Path[Relationship='SMActivity!System.ReviewerIsUser']$"/>
<Component Alias="VotedBy"
Path="$Target/Path[Relationship='SMActivity!System.ReviewerVotedByUser']$"/>
</Component>
</Component>
<Component Alias="CreatedBy"
Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedByUser']$"/>
<Component Alias="AssignedTo"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
<Component Alias="CreatedFor"
Path="$Target/Path[Relationship='SMCore!System.WorkItemCreatedForUser']$"/>
<Component Alias="RelatedWorkItem"
Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToWorkItem']$"
>
<Component Alias="RelatedWorkItemAssignedTo"
Path="$Target/Path[Relationship='SMCore!System.WorkItemAssignedToUser']$"/>
</Component>
<Component Alias="RelatedConfigItem"
Path="$Target/Path[Relationship='SMCore!System.WorkItemRelatesToConfigItem']
$"/>
<Component Alias="AboutConfigItem"
Path="$Target/Path[Relationship='System!System.WorkItemAboutConfigItem']$"/>
<Component Alias="FileAttachment"
Path="$Target/Path[Relationship='System!System.WorkItemHasFileAttachment']$"
>
<Component Alias="FileAttachmentAddedBy"
Path="$Target/Path[Relationship='System!System.FileAttachmentAddedByUser']$"
/>
</Component>
</TypeProjection>
<TypeProjection ID="System.FileAttachmentProjection"
Accessibility="Public" Type="System!System.FileAttachment">
<Component Alias="FileAttachmentAddedBy"
Path="$Target/Path[Relationship='System!System.FileAttachmentAddedByUser']$"
/>
</TypeProjection>
</TypeProjections>

Console tasks
Console tasks are extended in the common schema. Previously, console tasks were
simple pointers to an application directory and executable file name. Console tasks are
now implemented as handler code in a Microsoft .NET Framework assembly. The
handler code references the assembly that houses the code, the handler name, and a list
of named values that can be passed as arguments to the handler.

In the following example, the Some.Handler.Name handler is defined in the


MyLibrary.Resources.Assembly assembly. A list of handler parameters and their values
is also defined.

<ConsoleTask ID="MyLibrary.ConsoleTasks.T1"
Accessibility="Public"
Target="System!System.Entity"
Enabled="true"
RequireOutput="true">
<Assembly>MyLibrary.Resources.Assembly1</Assembly>
<Handler>Some.Handler.Name</Handler>
<Parameters>
<Argument Name="Application">cmd.exe</Argument>
<Argument Name="WorkingDirectory">%TEMP%</Argument>
<Argument>test1</Argument>
<Argument>test2</Argument>
</Parameters>
</ConsoleTask>

Resources
Binary data isn't stored directly in a management pack. Instead, metadata about the
binary resource is stored in the management pack, and the actual binary data is stored
externally in a resource file. The metadata includes a unique identifier, the file name, the
creation data, the modified date, and accessibility information.

Binary data can include generic resources, images, assemblies, report definitions, and
forms. The following example shows a generic XML resource, an assembly resource, and
a report resource.
<Resources>
<Resource ID="TestLibrary.Resources.Test1" Accessibility="Public"
FileName="res1.xml"/>
<Resource ID="TestLibrary.Resources.Test2" Accessibility="Public"
FileName="res2.xml"/>
<Assembly ID="TestLibrary.Resources.Assembly1" Accessibility="Public"
QualifiedName="Baz, Version=1.0.0.0" FileName="baz.dll"/>
<Assembly ID="TestLibrary.Resources.Assembly2" Accessibility="Public"
QualifiedName="Yoyo, Version=1.0.0.0" FileName="yoyo.dll">
<Dependency ID="TestLibrary.Resources.Assembly1"/>
</Assembly>
<ReportResource ID="TestLibrary.Resources.Report1" Accessibility="Public"
MIMEType="text/xml" FileName="res1.xml"/>
<Image ID="TestLibrary.Resources.Image1" Accessibility="Public"
FileName="image.png"/>
</Resources>

Forms
Forms are defined in a management pack. You can use forms to view and modify a
single instance of a type or combination class.

Forms are based on the Windows Presentation Framework (WPF), and they're defined in
assemblies. The assembly and class that contain the form implementations for a
management pack are included in the resources section of the management pack. As
with any binary resource in a management pack that uses the new common schema, the
management pack itself doesn't contain the binary data for the form. Only the resource
manifest is specified in the management pack.

You can specify your own configuration information for the form in the management
pack. In the following example, the Configuration section contains a ShowXboxes
property. This configuration information isn't evaluated by the management pack
verification process; it's only interpreted by the form implementation.

<Forms>
<Form ID="LobbyForm" Target="Projection" Assembly="FormAssembly"
TypeName="MyFormClass">
<Configuration>
<ShowXboxes>yes</ShowXboxes>
</Configuration>
</Form>
</Forms>
Author a management pack file to manage
projectors
Management packs are used to direct and extend the functionality of Service Manager.
This article uses projectors as an example for describing the various sections of a
management pack and for defining the various objects that are needed for managing
projectors in an organization.

This article includes a complete management pack sample with the necessary extensions
to manage projectors in an organization. Also, it describes how to import a
management pack using a Windows PowerShell cmdlet.

This article describes the following sections of a management pack:

The Manifest

TypeDefinitions to create class enumerations and relationships

Forms

This article also describes the following sections of a management pack that contain
declarations and definitions for user interface (UI) and localization elements:

Categories

Presentation

Class Extensions

Manifest section
The first section of a management pack contains the manifest. The manifest identifies
the management pack and declares any references to other management packs.

The following example shows the Manifest section of a management pack that was
designed to track projectors in an organization.

<Manifest>
<Identity>
<ID>ServiceManager.Projector_Authoring</ID>
<Version>7.0.3707.0</Version>
</Identity>
<Name>Projector Library</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SMConsole">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Console</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Authoring">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SMConfig">
<ID>ServiceManager.ConfigurationManagement.Library</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>

) Important

In the References section, don't use nonalphanumeric values, such as a '.', in the
Alias for a reference.

Create classes in the TypeDefinitions section


The next section of a management pack contains type definitions. The TypeDefinitions
section of a management pack contains definitions for classes, enumerations, and
relationships that are used by the management pack.

The following example shows a class that contains information about projectors:

<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="System.ConfigItem.Projector"
Base="System!System.ConfigItem" Hosted="false" Accessibility="Public"
Abstract="false">
<Property ID="SerialNumber" Type="int" Key="true" />
<Property ID="Make" Type="string" />
<Property ID="Model" Type="string" />
<Property ID="Location" Type="string" />
<Property ID="Condition" Type="enum" EnumType="ProjectorCondition"
/>
</ClassType>
</ClassTypes>
<RelationshipTypes>
</RelationshipTypes>
<EnumerationTypes>
<EnumerationValue ID="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.Working"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.BeingRepaired"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.New"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.Broken"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorViewTasksEnumeration"
Accessibility="Public"/>
</EnumerationTypes>
</EntityTypes>
</TypeDefinitions>

The following is a section-by-section explanation of what the type definition contains.

The ClassTypes section

The ClassType element defines the projector class:

<ClassType ID="System.ConfigItem.Projector" Base="System!System.ConfigItem"

Hosted="false" Accessibility="Public" Abstract="false">

The ID attribute is the unique identifier of this class. It's set to:

ID="System.ConfigItem.Projector"

The Base attribute is the ID of the class from which this class derives. Because a
projector is a kind of configuration item, this is set to:

Base="System!System.ConfigItem"

The notation of System! indicates that this class, System.ConfigItem, is in the


management pack that is referenced by the alias System.

The Hosted attribute defines whether this class is hosted by another class. In this case,
an instance of this class can only exist when a host instance exists that contains it. For
this example, projectors aren't hosted by anything; therefore, the Hosted attribute is set
to false:

Hosted="false"

Setting the Hosted attribute to true indicates that the class is hosted by another class. A
hosting relationship must be declared in the RelationshipTypes section.

The Accessibility attribute defines whether other classes can derive from this class. In
cases where you might want to allow others to create a more specific version of your
class, set this attribute to public, for example:

Accessibility="Public"

Setting the Accessibility attribute to Internal prevents other classes from deriving from
this class.

The Abstract attribute defines whether instances of this class can be created, or whether
the class should just be used as a parent class to other classes to derive from. In this
example, this attribute is set to false. Setting this attribute to true means that no
instances of this class can be created directly and that this class can be used only as a
parent class.

The next section of the class definition contains the class properties. The XML that
defines the class properties for this example are defined in the following code example:

<Property ID="SerialNumber" Type="int" Key="true" />


<Property ID="Make" Type="string" />
<Property ID="Model" Type="string" />
<Property ID="Location" Type="string" />
<Property ID="Condition" Type="enum" EnumType="ProjectorCondition" />

Each Property element has the following attributes:

The ID attribute, which designates the unique identifier of the property.

The Type attribute, which indicates the data type of the property.

The Key attribute. Setting this attribute to true indicates that this property is to be
used to uniquely identify this class.

Creating Enumeration Types


Enumerations of the enum data type are special data types. Enumerations are used to
constrain the data that is allowed for a property to a specific set of values. Enumerations
can be hierarchical; one enumeration can be based on another enumeration.

Enumerations are defined in the EnumertionTypes section of a solution pack. An


enumeration definition contains the root enumeration, followed by the actual
enumeration values.

Each EnumerationValue accepts a few attributes:

In this example, an enumeration is defined for keeping track of the condition of the
projectors. The following defines this enumeration:

ID is the identifier for the enumeration or enumeration value.

Accessibility specifies whether this enumerator can contain other enumerators.

ParentName is an attribute that specifies the ID of the parent of the enumerator


value.

<EnumerationTypes>
<EnumerationValue ID="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.Working"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.BeingRepaired"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.New" Parent="ProjectorCondition"
Accessibility="Public"/>
<EnumerationValue ID="ProjectorCondition.Broken"
Parent="ProjectorCondition" Accessibility="Public"/>
<EnumerationValue ID="ProjectorViewTasksEnumeration"
Accessibility="Public"/>
</EnumerationTypes>

Create a form
Service Manager forms are based on Windows Presentation Framework (WPF) forms.
Service Manager extends WPF with simple attributes that are added to the XML
definition and allow Service Manager to bind data from the management pack to the
form.

Service Manager forms can be created by using several different tools, including
Microsoft Visual Studio or Microsoft Expression Blend. Because the forms are XML-
based, they can also be defined by using any XML editor.

The following example shows a form definition that was created by using Microsoft
Expression Blend. This form contains four controls, three text boxes and one combo box,
that are bound to the Projector class properties that were defined previously:

<UserControl
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-
namespace:SMFormsDemo" x:Class="SMFormsDemo.TestControl" x:Name="Control"
Width="574" Height="390" Opacity="1"
xmlns:d="https://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Background="{DynamicResource {x:Static
SystemColors.WindowBrushKey}}">
<UserControl.Resources>
<ObjectDataProvider ObjectType="{x:Type local:helper}"
MethodName="GetStatusValues" x:Key="getStatusValues"/>
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<Label Margin="70,20,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Serial Number:"/>
<TextBox Margin="180,20,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=SerialNumber, Mode=TwoWay}"/>
<Label Margin="70,60,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Make:"/>
<TextBox Margin="180,60,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=Make, Mode=TwoWay}"/>
<Label Margin="70,100,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Model:"/>
<TextBox Margin="180,100,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=Model, Mode=TwoWay}"/>
<Label Margin="70,140,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Location:"/>
<TextBox Margin="180,140,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=Location, Mode=TwoWay}"/>
<Label Margin="70,180,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Condition:"/>
<ComboBox Margin="180,180,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" ItemsSource="{Binding
Source={StaticResource getStatusValues}, Mode=OneWay }"
IsSynchronizedWithCurrentItem="True">
<ComboBox.SelectedItem>
<Binding Path="Condition" Mode="TwoWay"
UpdateSourceTrigger="PropertyChanged"/>
</ComboBox.SelectedItem>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=DisplayName}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</UserControl>

To enable binding of controls on the form to class properties that are defined in a
management pack, a number of items must be specified.

Binding Text Controls

To bind text boxes to class properties in a management pack, add a Binding Path tag to
the text box control's Text property, for example:

{Binding Path=SerialNumber, Mode=TwoWay}

This tag binds the text box control to the SerialNumber property of the Projector class
that was defined in the management pack, and it specifies that this should be a two-way
binding. The value of the property is retrieved from the database and displayed in the
text box when the form is loaded, and the property value is stored back to the database
if it's changed by the user.

Binding Combo Boxes

To allow the form to retrieve enumeration data from the underlying management pack
and bind it to a control on the form, a helper class must be defined in the code-behind
in the form. This helper class should contain a method that returns an enumeration that
is defined in the management pack. To return an enumeration use the GetEnumerations
method of the current management pack. This instance is accessed with the
ConsoleContextHelper class from the Service Manager software development kit (SDK).
In the following example, a helper class defines a GetStatusValues method that retrieves
the values for the ProjectorCondition enumeration that was defined in the management
pack:

public class helper


{
public static ICollection<IDataItem> GetStatusValues()
{
return
ConsoleContextHelper.Instance.GetEnumerations("ProjectorCondition",true);
}
}

To access this method, a few things must be defined in the form definition in the
management pack.

First, a namespace that points to the namespace for the code behind for the form is
added to the form definition. In this example, the namespace is SMFormsDemo:

xmlns:local="clr-namespace:SMFormsDemo"

Next, an ObjectDataProvider must be defined to provide the values for the combo box
that displays the projector status. This ObjectDataProvider is defined as a resource:

<UserControl.Resources>
<ObjectDataProvider
ObjectType="{x:Type local:helper}"
MethodName="GetStatusValues"
x:Key="getStatusValues" />
</UserControl.Resources>

This data provider specifies the object and method name that retrieves the enumeration
values from the management pack.

Finally, to bind the combo box to the enumeration values that are defined in the
management pack, an ItemsSource attribute is added to the combo box definition. This
attribute specifies where to retrieve the enumeration values, for example:

ItemsSource="{Binding Source={StaticResource getStatusValues}, Mode=OneWay


}"
Next, SelectedItem and ItemTemplate elements are added to the Extensible Application
Markup Language (XAML) definition of the combo box control. The following example
shows the combo box definition with the binding XAML included:

<ComboBox Margin="180,180,80,0" HorizontalAlignment="Left"


VerticalAlignment="Top" Width="160" Height="25" ItemsSource="{Binding
Source={StaticResource getStatusValues}, Mode=OneWay }"
IsSynchronizedWithCurrentItem="True">
<ComboBox.SelectedItem>
<Binding Path="Condition" Mode="TwoWay"
UpdateSourceTrigger="PropertyChanged"/>
</ComboBox.SelectedItem>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=DisplayName}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>

The Category section


The Category section of a management pack groups management pack elements
together for easier navigation.

The first two <Category> elements in the example are used to control the display of the
New and Edit tasks in the Projectors view.

<Category ID="ProjectorViewHasTasks.View" Target="AllProjectorsView"


Value="ProjectorViewTasksEnumeration" />
<Category ID="ProjectorViewHasTasks.CreateTask" Target="CreateProjector"
Value="ProjectorViewTasksEnumeration" />

The second two Category elements in the example management pack are used to make
the projector condition enumeration appear in the Lists view in the Authoring pane in
the Service Manager console. This enables the user to customize the values:
<Category ID="Project.ProjectorConditionEnumVisibleCategory"
Target="ProjectorCondition" Value="System!VisibleToUser"/>

Adding this category in the following example makes the Edit task appear in the Lists
view for the EnumerationValue that is pointed at in the Target attribute:

<Category ID="Projector.ProjectorConditionCategory"
Target="ProjectorCondition"
Value="Authoring!Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring.
EnumerationViewTasks"/>

The Presentation section


The Presentation section of a management pack declares and defines user-interface-
related elements. These include forms declarations, categories, and console tasks.

The Forms Section

The Forms section declares forms that are used by your management pack. The
following example specifies where to find the form that is defined to display and edit
instances of the Projector class. This binds the form to the Projector class that is defined
in the management pack:

<Forms>
<Form TypeName="SMFormsDemo.TestControl"
ID="TestForm"
Target="System.ConfigItem.Projector"
Assembly="ProjectorFormsAssembly"
Accessibility="Public">
<Category>Form</Category>
</Form>
</Forms>

The following attributes are used in the preceding example:

The TypeName attribute contains the namespace and class name of the form.

The ID attribute contains the unique identifier of this form instance.

The Target attribute contains the name of the class that this form is bound to.
The Assembly attribute points to the external resource that contains the form.

The Accessibility attribute defines whether this form can be customized.

Defining a View

The Views section of a management pack contains definitions of user interface (UI)
views. These views can be used to filter and display objects in a management pack.

<View Target="System.ConfigItem.Projector"
Enabled="true"
TypeID="SMConsole!GridViewType"
ID="AllProjectorsView"
Accessibility="Public">
<Category>NotUsed</Category>
<Data>
<Adapters>
<Adapter AdapterName="dataportal:EnterpriseManagementObjectAdaptor">

<AdapterAssembly>Microsoft.EnterpriseManagement.UI.SdkDataAccess</AdapterAss
embly>
<AdapterType>
Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.EnterpriseManag
ementObjectAdapter
</AdapterType>
</Adapter>
<Adapter AdapterName="viewframework://adapters/ListDefault">

<AdapterAssembly>Microsoft.EnterpriseManagement.UI.ViewFramework</AdapterAss
embly>

<AdapterType>Microsoft.EnterpriseManagement.UI.ViewFramework.ListSupportAdap
ter</AdapterType>
</Adapter>
</Adapters>
<ItemsSource>
<AdvancedListSupportClass DataTypeName=""
AdapterName="viewframework://adapters/AdvancedList"
FullUpdateAdapter="dataportal:EnterpriseManagementObjectAdapter"
FullUpdateFrequency='1' DataSource="mom:ManagementGroup" IsRecurring="true"
RecurrenceFrequency="5000" treaming='true' xmlns="clr-
namespace:Microsoft.EnterpriseManagement.UI.ViewFramework;assembly=Microsoft
.EnterpriseManagement.UI.ViewFramework"
xmlns:av="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-
namespace:System;assembly=mscorlib" >
<AdvancedListSupportClass.Parameters>
<QueryParameter Parameter="TargetClass"
Value="System.ConfigItem.Projector"/>
</AdvancedListSupportClass.Parameters>
</AdvancedListSupportClass>
</ItemsSource>
<Criteria />
</Data>
<Presentation>
<Columns>
<mux:ColumnCollection
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:mux="https://schemas.microsoft.com/SystemCenter/Common/UI/Views/GridVi
ew" xmlns:s="clr-namespace:System;assembly=mscorlib">
<mux:Column Name="SerialNumber" DisplayMemberBinding="{Binding
Path=SerialNumber}" Width="100" DisplayName="SerialNumber"
Property="SerialNumber" DataType="s:Int32" />
<mux:Column Name="Location" DisplayMemberBinding="{Binding
Path=Location}" Width="100" DisplayName="Location" Property="Location"
DataType="s:String" />
<mux:Column Name="Condition" DisplayMemberBinding="{Binding
Path=Condition.DisplayName}" Width="100" DisplayName="Condition"
Property="Condition.DisplayName" DataType="s:String" />
<mux:Column Name="DisplayName" DisplayMemberBinding="{Binding
Path=DisplayName}" Width="100" DisplayName="Display Name"
Property="DisplayName" DataType="s:String" />
<mux:Column Name="OwnerUser" DisplayMemberBinding="{Binding
Path=OwnerUser.DisplayName}" Width="100" DisplayName="SupportOwner"
Property="OwnerUser.DisplayName" DataType="s:String" />
</mux:ColumnCollection>
</Columns>
</Presentation>
</View>

The View Target attribute points to the class that the view will be used to display.

In the preceding example, the Service Manager Console management pack is


referenced. This management pack contains a definition of a view type being used. In
this instance, the SMConsole!GridViewType view type is defined.

The AdvancedListSupportClass defines a number of parameters, the most important of


which is the TargetClass parameter. Set this parameter to the ID of the ClassType that
will appear in this view. To display the columns that are properties of the ClassType, use
the Column element and bind it to the PropertyID attribute.

The IsRecurring attribute of the ListSupportClass element determines whether the view
auto-refreshes. The RecurrenceFrequency attribute defines the refresh interval in
milliseconds. In this example, the refresh interval is set to 1 second, but that isn't
recommended for production installations.

Defining Folders

Defining a folder determines the location in the navigation tree in which the view is
displayed. In this example, a configuration item is defined so that it's only suitable to
place the view under the existing folder for configuration items in the Configuration
Items workspace:

<Folders>
<Folder ID="Folder.Projectors" Accessibility="Public"
ParentFolder="SMConfig!ServiceManager.Console.ConfigurationManagement.Config
Item.Root" />
</Folders>
<FolderItems>
<FolderItem
ElementID="AllProjectorsView"
Folder="Folder.Projectors" />
</FolderItems>

In the preceding example, the ElementID attribute contains a reference to the view that
was created. The Folder attribute points to a Folders.Projectors folder, which in turn has
its root as defined in the Configuration Management workspace of the Service
Manager console. This root folder is defined in the Configuration Management
management pack.

The ImageReference element maps the view that was previously created to an icon that
is defined in the Configuration Management namespace:

<ImageReferences>
<ImageReference ElementID="Folder.Projectors"
ImageID="SMConfig!ConfigItemImage16x16" />
<ImageReference ElementID="AllProjectorsView"
ImageID="SMConfig!ConfigItemImage16x16" />
</ImageReferences>

Localization Using the LanguagePacks Section

The LanaguagePacks section of a management pack defines string resources and


mappings for management pack elements.

In the example, the EnumerationValueProjectorCondition.Working must appear as


Working. To do this, display names for each of the following must be defined:

View: All projectors

Enumerations: working, broken, in repair, new


<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="AllProjectorsView">
<Name>All Projectors</Name>
<Description>This displays all projectors</Description>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.Working">
<Name>Working</Name>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.Broken">
<Name>Broken</Name>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.BeingRepaired">
<Name>In Repair</Name>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.New">
<Name>New</Name>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>

You can create additional LanguagePack elements, as necessary, for each additional
language you require. The correct display string appears to the user based on the user's
locale.

Resources

The Resources section of a management pack contains references to binary resources,


which are contained in assemblies that are separate from the management pack. In the
following example, a resource is defined that points to the assembly that contains the
form that is used by the Projector class:

<Assembly ID="ProjectorFormsAssembly"
Accessibility="Public"
QualifiedName="SMFormsDemo, Version=1.0.0.0"
FileName="SMFormsDemo.dll" CreationDate="1900-10-12T13:13:13"
ModifiedDate="2008-12-12T12:12:12" />

Class extensions
A class extension is a class that adds properties to an existing class. In most cases, this
existing class is in a sealed management pack. In cases where the existing class isn't in a
sealed management pack, the class extension must be contained in the same
management pack as the class that is being extended.

A class extension inherits the properties of any parent classes, for example:

Class A has a property called Property1

Class B derives from, or extends, Class A and therefore has a property called
Property1. This property is inherited from Class A, the parent, or base class)

The definition of Class B adds a property called Property2.

Any class extension that derives from Class B will inherit Property1 and Property2.

The following example shows a class extension definition:

<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="IncidentManagmentPack.Extension"
Accessibility="Public" Base="Incident!System.WorkItem.Incident"
Hosted="false" IsExtensionType="true">
<Property ID="TimeOnIncident" Type="int" Key="false" />
</ClassType>
</ClassTypes>
</EntityTypes>
</TypeDefinitions>

This class extension extends the System.WorkItem.Incident class and adds a new
property called TimeOnIncident.

The definition for a class extension is similar to that of a class definition. Two attributes
of the ClassType element are used to define a class definition: the Base attribute and the
IsExtensionType attribute.

The Base attribute specifies the ID of the parent class from which the class extension
derives. In this instance, the attribute value is set to Incident!System.WorkItem.Incident.
This value contains the Alias of the full management pack name, which contains the
class being extended, an exclamation point, and then the name of the base class. For
more information, see the following example.

The IsExtensionType attribute defines whether this class is an extension of the base
class. Because TimeOnIncident is an extension to the Incident class, this property is set
to true:

IsExtensionType="true"

The other option is false, which indicates that it isn't an extension of another class but a
new class that inherits from the base. The default value is false; therefore, this attribute
doesn't have to be used if the class isn't an extension.

Full Example

The following code example shows the full management pack containing the class
extension.

ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true"
SchemaVersion="1.1">
<Manifest>
<Identity>
<ID>ServiceManager.Extension</ID>
<Version>1.0.0.0</Version>
</Identity>
<Name>ServiceManagerExtension</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>1.0.2780.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Incident">
<ID>System.WorkItem.Incident.Library</ID>
<Version>1.0.2780.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="IncidentManagmentPack.Extension"
Accessibility="Public" Base="Incident!System.WorkItem.Incident"
Hosted="false" Extension="true">
<Property ID="TimeOnIncident" Type="int" Key="false" />
</ClassType>
</ClassTypes>
</EntityTypes>
</TypeDefinitions>
</ManagementPack>

Import a management pack by using a cmdlet


You can use the Windows PowerShell Import-SCSMManagementPack cmdlet to import a
Service Manager management pack, for example:

Import-SCSMManagementPack MyServiceManager.ManagementPack.xml

This document doesn't describe how to import and use management packs in the
Service Manager console. For information about using management packs in the Service
Manager console, see Using Management Packs in Service Manager.

Full management pack example


The following code examples represent the full sample management pack that is used
for examples in this article in addition to the form definition and the C# code-behind for
the form.

Management Pack

<ManagementPack ContentReadable="true" SchemaVersion="1.1"


xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<Manifest>
<Identity>
<ID>ServiceManager.Projector</ID>
<Version>7.0.3707.0</Version>
</Identity>
<Name>Projector Library</Name>
<References>
<Reference Alias="SMConsole">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Console</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Authoring">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SMConfig">
<ID>ServiceManager.ConfigurationManagement.Library</ID>
<Version>7.0.3707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="System.ConfigItem.Projector" Accessibility="Public"
Abstract="false" Base="System!System.ConfigItem" Hosted="false"
Singleton="false" Extension="false">
<Property ID="SerialNumber" Type="int" Key="true" />
<Property ID="Make" Type="string" />
<Property ID="Model" Type="string" />
<Property ID="Location" Type="string" />
<Property ID="Condition" Type="enum" EnumType="ProjectorCondition"
/>
</ClassType>
</ClassTypes>
<EnumerationTypes>
<EnumerationValue ID="ProjectorCondition" Accessibility="Public" />
<EnumerationValue ID="ProjectorCondition.Working"
Accessibility="Public" Parent="ProjectorCondition" />
<EnumerationValue ID="ProjectorCondition.BeingRepaired"
Accessibility="Public" Parent="ProjectorCondition" />
<EnumerationValue ID="ProjectorCondition.New" Accessibility="Public"
Parent="ProjectorCondition" />
<EnumerationValue ID="ProjectorCondition.Broken"
Accessibility="Public" Parent="ProjectorCondition" />
<EnumerationValue ID="ProjectorViewTasksEnumeration"
Accessibility="Public" />
</EnumerationTypes>
</EntityTypes>
</TypeDefinitions>
<Categories>
<Category ID="AllProjectorsView.Category" Target="AllProjectorsView"
Value="SMConsole!Microsoft.EnterpriseManagement.ServiceManager.UI.Console.Vi
ewTasks" />
<Category ID="ProjectorViewHasTasks.CreateTask"
Target="AllProjectorsView"
Value="Authoring!Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring.
CreateTypeCategory" />
<Category ID="Projector.ProjectorConditionCategory"
Target="ProjectorCondition"
Value="Authoring!Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring.
EnumerationViewTasks" />
<Category ID="Project.ProjectorConditionEnumVisibleCategory"
Target="ProjectorCondition" Value="System!VisibleToUser" />
</Categories>
<Presentation>
<Forms>
<Form ID="TestForm" Accessibility="Public"
Target="System.ConfigItem.Projector" Assembly="ProjectorFormsAssembly"
TypeName="New_CI_lab.TestControl">
<Category>Form</Category>
</Form>
</Forms>
<Views>
<View ID="AllProjectorsView" Accessibility="Public" Enabled="true"
Target="System.ConfigItem.Projector" TypeID="SMConsole!GridViewType"
Visible="true">
<Category>NotUsed</Category>
<Data>
<Adapters>
<Adapter AdapterName="dataportal:EnterpriseManagementObjectAdapter">

<AdapterAssembly>Microsoft.EnterpriseManagement.UI.SdkDataAccess</AdapterAss
embly>

<AdapterType>Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.En
terpriseManagementObjectAdapter</AdapterType>
</Adapter>
<Adapter AdapterName="viewframework://adapters/AdvancedList">

<AdapterAssembly>Microsoft.EnterpriseManagement.UI.ViewFramework</AdapterAss
embly>

<AdapterType>Microsoft.EnterpriseManagement.UI.ViewFramework.AdvancedListSup
portAdapter</AdapterType>
</Adapter>
<Adapter AdapterName="omsdk://Adapters/Criteria">

<AdapterAssembly>Microsoft.EnterpriseManagement.UI.SdkDataAccess</AdapterAss
embly>

<AdapterType>Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.Sd
kCriteriaAdapter</AdapterType>
</Adapter>
</Adapters>
<ItemsSource>
<AdvancedListSupportClass DataTypeName=""
AdapterName="viewframework://adapters/AdvancedList"
FullUpdateAdapter="dataportal:EnterpriseManagementObjectAdapter"
FullUpdateFrequency='1' DataSource="mom:ManagementGroup"
IsRecurring="true" RecurrenceFrequency="5000" Streaming='true'
xmlns="clr-
namespace:Microsoft.EnterpriseManagement.UI.ViewFramework;assembly=Microsoft
.EnterpriseManagement.UI.ViewFramework"
xmlns:av="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-
namespace:System;assembly=mscorlib" >
<AdvancedListSupportClass.Parameters>
<QueryParameter Parameter="TargetClass"
Value="System.ConfigItem.Projector"/>
</AdvancedListSupportClass.Parameters>
</AdvancedListSupportClass>
</ItemsSource>
<Criteria />
</Data>
<Presentation>
<Columns>
<mux:ColumnCollection
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:mux="https://schemas.microsoft.com/SystemCenter/Common/UI/Views/GridVi
ew" xmlns:s="clr-namespace:System;assembly=mscorlib">
<mux:Column Name="SerialNumber" DisplayMemberBinding="{Binding
Path=SerialNumber}" Width="100" DisplayName="SerialNumber"
Property="SerialNumber" DataType="s:Int32" />
<mux:Column Name="Location" DisplayMemberBinding="{Binding
Path=Location}" Width="100" DisplayName="Location" Property="Location"
DataType="s:String" />
<mux:Column Name="Condition" DisplayMemberBinding="{Binding
Path=Condition.DisplayName}" Width="100" DisplayName="Condition"
Property="Condition.DisplayName" DataType="s:String" />
<mux:Column Name="DisplayName" DisplayMemberBinding="{Binding
Path=DisplayName}" Width="100" DisplayName="Display Name"
Property="DisplayName" DataType="s:String" />
<mux:Column Name="OwnerUser" DisplayMemberBinding="{Binding
Path=OwnerUser.DisplayName}" Width="100" DisplayName="SupportOwner"
Property="OwnerUser.DisplayName" DataType="s:String" />
</mux:ColumnCollection>
</Columns>
</Presentation>
</View>
</Views>
<Folders>
<Folder ID="Folder.Projectors" Accessibility="Public"
ParentFolder="SMConfig!ServiceManager.Console.ConfigurationManagement.Config
Item.Root" />
</Folders>
<FolderItems>
<FolderItem ElementID="AllProjectorsView"
ID="FolderItem.AllProjectors" Folder="Folder.Projectors" />
</FolderItems>
<ImageReferences>
<ImageReference ElementID="Folder.Projectors"
ImageID="SMConfig!ConfigItemImage16x16" />
<ImageReference ElementID="AllProjectorsView"
ImageID="SMConfig!ConfigItemImage16x16" />
</ImageReferences>
</Presentation>
<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="System.ConfigItem.Projector">
<Name>Projector</Name>
</DisplayString>
<DisplayString ElementID="Folder.Projectors">
<Name>Projectors</Name>
<Description>This is the Projector Folder</Description>
</DisplayString>
<DisplayString ElementID="AllProjectorsView">
<Name>All Projectors</Name>
<Description>This displays all projectors</Description>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.Working">
<Name>Working</Name>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.Broken">
<Name>Broken</Name>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.BeingRepaired">
<Name>In Repair</Name>
</DisplayString>
<DisplayString ElementID="ProjectorCondition.New">
<Name>New</Name>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>
<Resources>
<Assembly ID="ProjectorFormsAssembly" Accessibility="Public"
FileName="New_CI_lab.dll" QualifiedName="New_CI_lab, Version=0.0.0.0" />
</Resources>
</ManagementPack>

Form Definition

<UserControl
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SMFormsDemo"
x:Class="SMFormsDemo.TestControl"
x:Name="Control"
Width="574" Height="390" Opacity="1"
xmlns:d="https://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Background="{DynamicResource {x:Static
SystemColors.WindowBrushKey}}">
<UserControl.Resources>
<ObjectDataProvider ObjectType="{x:Type local:helper}"
MethodName="GetStatusValues" x:Key="getStatusValues" />
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<Label Margin="70,20,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Serial Number:"/>
<TextBox Margin="180,20,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=SerialNumber, Mode=TwoWay}"/>
<Label Margin="70,60,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Make:"/>
<TextBox Margin="180,60,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=Make, Mode=TwoWay}" />
<Label Margin="70,100,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Model:"/>
<TextBox Margin="180,100,0,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=Model, Mode=TwoWay}"/>
<Label Margin="70,140,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Location:"/>
<TextBox Margin="180,140,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" d:IsStaticText="True" Text="
{Binding Path=Location, Mode=TwoWay}" />
<Label Margin="70,180,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" Content="Condition:"/>
<ComboBox Margin="180,180,80,0" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="160" Height="25" ItemsSource="{Binding
Source={StaticResource getStatusValues}, Mode=OneWay }"
IsSynchronizedWithCurrentItem="True">
<ComboBox.SelectedItem>
<Binding Path="Condition" Mode="TwoWay"
UpdateSourceTrigger="PropertyChanged"/>
</ComboBox.SelectedItem>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=DisplayName}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</UserControl>

Form Code-Behind

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading;
using System.Windows.Controls;
using Microsoft.EnterpriseManagement.ServiceManager.Application.Common;
using Microsoft.EnterpriseManagement.UI.DataModel;
namespace SMFormsDemo
{
/// <summary>
/// Interaction logic for ProjectorForm.xaml
/// </summary>
public partial class TestControl : UserControl
{
public TestControl()
{
InitializeComponent();
}
}
public class helper
{

public static ICollection<IDataItem> GetStatusValues()


{
return
ConsoleContextHelper.Instance.GetEnumerations("ProjectorCondition",true);
}
}
}

Next steps
Seal a management pack.
Seal a Service Manager management
pack
Article • 03/16/2023

When a management pack in Service Manager contains base definitions that other
management packs have to reference, such as a list, it must be sealed. After you seal a
management pack, you can't directly modify objects in the sealed management pack,
and you can't unseal the sealed management pack, but you can define references to
objects in the sealed management packs.

For more information about how to modify objects that are stored in a management
pack that you've already sealed, see Management Packs: Key Concepts.

Sealing a management pack requires using a key file that provides additional identity to
a management pack, and it contains a public/private key pair. Before you can seal a
management pack, you must create this file in advance. For more information about
how to create the required key file, see How to: Create a Public/Private Key Pair. After
you create the key file, store it in a safe location.

We recommend that you sign a management pack after it's sealed. Signing a
management pack is important in ensuring that the file isn't modified when you transfer
the file between locations. The key that you use for signing a management pack is the
same key that is used in the process of cryptographically signing any file. You can use
the same key for both sealing and signing a management pack, because the public
portion of the key is used for sealing.

Seal a management pack


1. Create a .snk key file that contains a public/private key pair.

2. In the Service Manager Authoring Tool, in Management Pack Explorer, right-click


the management pack that you want to seal, and select Seal Management Pack.

3. In the Seal Management Pack dialog, in the Key File box, enter the location of the
key file that you previously created. The file must have a .snk extension. You must
also fill in the Company box. Filling in the other boxes is optional.

4. Select Seal to create a sealed management pack, which will be stored in the folder
that you specify in the Output Directory box.
Next steps
Bundle management packs and resource files.
Bundle management packs and
resource files
Article • 09/26/2023

A custom management pack might include references to resources, such as an image or


a form assembly. To import such a management pack into Service Manager, you must
first bundle the management pack file and its associated resources into a single .mpb
management pack file.

In Service Manager, to bundle a management pack file with its resources, use the
Windows PowerShell cmdlet New-SCSMManagementPackBundle. For more
information about this cmdlet, see New-SCSMManagementPackBundle.

When you bundle a management pack, any form .dll in the bundle is stored in the
Service Manager database along with any other resources, such as images. The form is
then automatically deployed to any Service Manager console computer that needs to
render that form. When the form is loaded for the first time in the Service Manager
console, it's retrieved from the Service Manager database and cached on the local
computer. In subsequent uses, the form is retrieved from the local cache.

To customize management packs that are bundled in an .mpb file, you must first
unbundle the .mpb file and then individually customize each management pack and
resource file. For more information about how to unbundle an .mpb management pack
file, see How to Unbundle a Bundled Management Pack.

Next steps
Unbundle a bundled management pack for use with the Authoring Tool.
Unbundle a bundled management pack
for use with the Service Manager
Authoring Tool
Article • 03/16/2023

A bundled management pack (.mpb) file in System Center - Service Manager includes
several management pack (.mp) files. In addition, it might include references to
resources, such as an image or a form assembly. To customize a .mpb file, you must
access and customize the individual files in the bundle.

In this version of the Service Manager Authoring Tool, you can't directly open an .mpb
file to access its individual files. Instead, you must manually unbundle the .mpb file and
store all the .mp, .xml, and other resource files in a single folder that is accessible to the
Authoring Tool. Then, you can open and customize the individual files in the Authoring
Tool in the same manner that you customize other management packs. After you
complete the customizations, you've to rebundle the files and generate a new .mpb
management pack file.

You can extract most of the resource files from an .mpb file by using a
Windows PowerShell script. The following procedures provide Windows PowerShell
sample scripts that extract files from an .mpb file. For more information about how to
use the Service Manager SDK to create other scripts, see Service Manager SDK.

You can't extract sealed management packs from an .mpb file. Package owners must
provide each file separately for a sealed management pack.

To extract individual unsealed management packs from


an .mpb file
1. Start a Service Manager Windows PowerShell session.

2. In the Windows PowerShell console, enter the following commands:

mkdir <mpdir>
Get-SCSMManagementPack -bundlefile .\<filename>.mpb | Export-
SCSMManagementPack -path <mpdir>

In the command, replace the mpdir placeholder with the folder in which the
extracted management pack files will be stored.

Replace the filename placeholder with the name of the .mpb file.

You can now navigate to the mpdir folder in the current working folder to view and
access the management pack files that you extracted.

To extract resource files from an .mpb file


1. In a Windows PowerShell window, enter the following commands:

$SM2016DirKey = Get-ItemProperty "hklm:\SOFTWARE\Microsoft\System


Center\2016\Common\Setup"
$SM2016Dir = $SM2016DirKey.InstallDirectory
[reflection.assembly]::loadfrom($SM2016Dir + "\SDK
Binaries\Microsoft.EnterpriseManagement.Packaging.dll")
[reflection.assembly]::LoadWithPartialName("Microsoft.EnterpriseManagem
ent.Core") | out-null
$emg = new-object
Microsoft.EnterpriseManagement.EnterpriseManagementGroup localhost
$mpbReader =
[Microsoft.EnterpriseManagement.Packaging.ManagementPackBundleFactory]:
:CreateBundleReader()
$mpb = $mpbReader.Read("$PWD\Administration.mpb", $emg)

From the $mpb object, you can now access the $mpb.ManagementPacks; these are the
management packs in the .mpb bundle. And you can access the
$mpb.GetStreams(ManagementPack), which associates the resources with a
management pack in that bundle. These resources will be in the form of binary streams
that you can write to files.

Next steps
Customize and author classes with Service Manager authoring.
Customize and author classes with
Service Manager authoring
Article • 04/26/2023

A class is the main element that is used to represent objects that are used in Service
Manager. A class can represent a computer, a user, an incident, or a form.

Class definitions that represent a larger element, such as a Service Manager feature, are
often grouped together. Class definitions are stored in management packs that must be
imported into Service Manager to enable Service Manager functionality.

Key concepts for classes


Objects in Service Manager are instances of a particular base class. All instances of a
base class have a common set of properties and common behavior.

Like all management pack elements, classes have ID and Display Name properties. In
this documentation, ID refers to the unique name of the class that is seen only in the
Authoring Tool, while Name and Display Name refer to the language-specific name that
appears in the Service Manager console.

7 Note

When you're creating a class, always ensure that the class names are unique among
management packs. If possible, use class names that are meaningful in your
environment. You can determine whether a class name already exists by using the
search feature in the Class Browser window of the Service Manager Authoring Tool.

Properties
All the instances of a particular class share a common set of properties. The values for
these properties are provided in various methods by users and can vary among different
instances. Properties are used to represent details of the actual object, such as a unique
name, location, and other details that may be interesting to the user or that are required
for management scenarios.

Key properties
A key property uniquely identifies each instance of a particular class. If a property is
marked as a key property, each instance of the class must have a unique value for that
property, and the value can't be null. For hosted classes, the value must only be unique
for all the instances of the class that have the same hosting parent. For unhosted classes,
it must be unique for all the instances of the class in the management group. Hosting
relationships are further described later in this section.

Classes don't always require a key property. A key property is only required if more than
one instance of a class is expected for a single parent. If only a single instance is
expected, a key property isn't required but may still be defined.

For example, SQL Database Engine has a key property of Instance Name because a
single computer can have more than one instance of Microsoft SQL Server installed.
When there are multiple instances of SQL Database Engine, each instance must have a
different value for Instance Name in order to clearly distinguish between the different
objects. The IIS Web Server class, by contrast, doesn't define a key property because
there can be only one instance installed on any computer.

All the objects have a Path Name property that is calculated from the object's key
property or properties and those of its hosting parent or parents. For unhosted objects,
Path Name will be the key property of the class itself. Path Name can be used to
uniquely identify any instance of a class in the management group.

Base classes and inheritance


Every class must specify a base class that identifies an existing class that the new class
will specialize. The management pack libraries that are included with Service Manager
contain several classes that can be used as the base for custom classes in management
packs. A management pack will typically have at least one class inheriting from a library
class and potentially other classes inheriting from classes in the same management
pack.

The concept of a base class can be illustrated with the Windows Server Operating
System management pack. This management pack includes classes representing logical
disks installed on the computer. The following illustration shows the classes Windows
Server 2003 Logical Disk and Windows Server 2008 Logical Disk. These classes are
both based on Logical Disk (Server) that is defined in the
Microsoft.Windows.Server.Library management pack file. Logical Disk (Server) is in turn
based on Logical Disk, which itself is based on Logical Device, and so on, through
Logical Hardware, Logical Entity, and finally Entity. All classes can trace a similar
inheritance path and will always end up at Entity, which is the root of the class structure.
This is the only class that doesn't have a base class, and all the other classes eventually
inherit from it.

Inheritance of properties between classes

Entity has a single property named Display Name. This property is inherited by all the
classes inheriting from Entity. All the classes eventually inherit from Entity. That is why
all the classes have a Display Name property. No other classes in this example have
properties until Logical Device, which defines Name, Description, and DeviceID.
DeviceID is specified as the key property. These properties are all inherited by Logical
Disk and Logical Disk (Server). Logical Disk (Server) then adds the additional properties
Size, Drive Type, and File System. The bottom-level classes that are specific to the
version of the operating system inherit the entire set of properties provided by those
classes above them in the inheritance tree.

Class types
Most classes have one or more actual instances and are known as concrete classes.
Abstract classes and singleton classes are special kinds of classes that behave differently
and are used for particular scenarios.

Abstract classes

Abstract classes have no instances and exist only to act as a base class for other classes.
All the properties and relationships that are defined at the abstract class level are
inherited by child classes and don't have to be defined again. Most of the classes that
are defined in management pack libraries are abstract, since they're only provided to act
as base classes for classes that are defined in custom management packs.

Abstract classes are used where there's a common set of properties, relationships, or
grouping that can be defined across all further specializations of a class. In the previous
example, all the classes shown above Windows Server 2003 Logical Disk and Windows
Server 2008 Logical Disk are abstract. They exist only for the lower-level classes to
inherit from.

Singleton classes
Singleton classes are used when there's one and only one instance of a class. The class is
the instance, and it always exists. The single instance is being created when the
management pack is installed. Similarly, a key property isn't required for a singleton
class, because it will only ever have a single instance. A common use of singleton classes
is for the Groups class, because there's only a single instance of this class required
throughout the management group.

Class extensions
To customize a class, you can extend it by adding new properties to the existing class
definition. The new properties will now be included in all the instances of that class that
already exist, and in any new instances that will be created. An abstract class can't be
extended.
Relationships
Relationships are defined between classes to indicate an association between a
particular instance of one class and the particular instance of another. There are three
types of relationships, and they're detailed in the following sections:

Hosting relationship

Containment relationship

Reference relationship

Class relationships affect objects in the following ways.

Relationship Key property and Available properties


type existence

Hosting The value of the key Any workflow that is targeted at a class has access
property must be unique to that class's properties in addition to the
for all the instances of the properties of any of its hosting parent(s).
class in the management
group. For hosted classes, For example, a script in a workflow using the SQL
however, the key property 2008 DB Engine class as its target might require the
value must be unique only name of the computer on which the instance of SQL
for all the objects that Server 2008 is installed. Because an object can have
have the same hosting only one hosting parent, we know the computer
parent. that hosts any particular instance of the SQL 2008
DB Engine class. The workflow script can access the
To uniquely identify a properties of the targeted object and the properties
hosted object, the key of that target's hosting parent.
property of both the
object and the object's
parent are required and
the key of the hosted class
will be the combination of
both the hosting class key
property, and the hosted
class key property.

The existence of a hosted


class depends on the
existence of the hosting
class.
Relationship Key property and Available properties
type existence

Containment Key property and existence Any workflow that is targeted at a class have access
aren't dependent on to that class's properties in addition to the
container object. properties of any of its container parent (s).

For example, a script in a workflow targeting an


incident class can access the properties of the
container queue's class.

Reference Key property and existence Any workflow that is targeted at a class has access
aren't dependent on only to that class's properties.
referenced object.

Reference relationship
The reference relationship is the most general relationship type. A reference relationship
is used when the parent and child classes aren't dependent on one another; for
example, a database could reference another database that it's replicating. One
database isn't dependent on the other, and the objects exist separately.

Containment relationship
The containment relationship type is less restrictive than the hosting relationship. It
declares that one class is related to another class, although one isn't required for the
other. Unlike a hosting relationship, a containment relationship is many-to-many. This
means that one object can contain multiple objects, and a single object can be
contained by multiple other objects. For example, one group can contain multiple
objects, and a single object can be a member of multiple groups.

Containment relationships are typically used for group membership where objects are
included in a group through a containment relationship between the group and the
member object.

Hosting relationship
The most restrictive relationship between classes is the hosting relationship. A class
hosted by another class is called a hosted class, and an instance of the class is called a
hosted object. If a class isn't hosted by another, it's called an unhosted class, and an
instance of the class is called an unhosted object.
When one object is hosted by another, that object relies on its hosting parent for its
very existence. If the hosting parent is removed, the hosted child will also be removed.
For example, a logical disk can't exist without the computer that it's installed on.

A hosted object can have only one hosting parent, but one parent can host multiple
children. For example, a particular disk can be installed on only a single computer, but
one computer can have several disks installed.

The SQL Server management pack provides another example of hosting relationships.
The hosting relationship between the Windows Computer class, the SQL 2008 DB
Engine class, and the SQL 2008 DB class is shown here.

Hosting relationships for SQL Server 2008 classes

The SQL 2008 DB Engine class represents an instance of SQL Server 2008 installed on a
particular computer. Because a database can be installed on only a single database
engine, the SQL 2008 DB Engine class hosts the SQL 2008 DB class. There can be
several databases with the same name in a management group, but any databases
installed on a particular instance of the SQL Server class must have a unique name. The
database engine, in turn, is hosted by the Windows Computer class. There can be
several SQL Server instances with the same name in a management group. Each one on
a particular computer must have a unique name.

Because there are two hosting relationships, the path name for each database will be
the computer name followed by the instance name followed by the database name. An
example is shown in the following diagram.

Sample database hosting relationships


General guidelines and best practices for
classes
Use the following guidelines and best practices when you're customizing classes in the
Service Manager Authoring Tool.

Naming conventions for type definitions


The Service Manager schema model naming convention is based on the .NET
namespaces naming convention.

Basic naming conventions


The basic naming convention is
CompanyName.TechnologyArea.ProductName.FunctionalityArea.Name, where:

ProductName is optional; use it if the definition is independent of any specific


product.

FunctionalityArea is optional; use it if the definition can apply to different areas.

Name reflects the meaning of the class, not the inheritance hierarchy.

Examples: Microsoft.AD.Printer, Microsoft.Windows.Computer,


System.Knowledge.Article, System.WorkItem.Incident, and System.StarRating.Average.

The System namespace


The System namespace refers to definitions that are independent of Microsoft and
Windows. This usually applies to the base definitions that either Windows applications
or Unix applications depend on. These base definitions should be company
independent.

Use the following guidelines for the System prefix:

System.Computer represents any type of computer, and it isn't vendor specific.

Use the System prefix if you expect others to define schemas on top of that
namespace.

Note that Microsoft.Windows.Computer doesn't start with System, although most


Windows applications (regardless of the vendor that defines it) rely on this
definition.

Best practices for naming classes


Use the following best practices when you're naming classes:

Don't create two separate classes (even if they're in two different management
packs) that would result in identical key values being stored for different objects of
the two classes.

When you're extending a class, always ensure that the class extension names are
unique across management packs. If possible, use meaningful class extension
names.

When you're extending a class, don't define a property with an ID that is already in
use in that class.

Don't use periods in names of properties of a custom class.

If you add a custom named calculation when you author a cube, preface the name
of the named calculation with NC_. This will reduce the possibility of using a name
of a property that already exists.

Do not create too many classes


Creating too many classes can result in needless complexity with minimal value. A good
rule is to use the least number of classes to achieve the desired results. Other than
abstract classes, if a class isn't going to be the target of any workflow or be used to
store data, it probably shouldn't be created. Also, if two classes are similar, consider
using a single class for both of them, possibly by using a property that can hold the
values for any differences.

Do not use properties that update frequently


Property values should change rarely after they're first populated. A possible cause for
frequent property value changes is a custom connector or any other customization that
programmatically updates the Service Manager database. These scenarios can
potentially cause property values to update too frequently, such as every 10 to 15
minutes or less for a large number of objects.

Such frequent changes to property values might slightly impact the performance of the
workflows, and they might have other performance impacts. This is because the system
keeps track of those changes in history. Also, depending on the property being
changed, these changes can add a significant amount of data to be processed and
stored by the data warehouse.

Do not extend an abstract class


In Service Manager, you can't extend an abstract class. If you need to extend an abstract
class, you can do either of the following:

Create a new class with the properties you want to add, and then create a
relationship between the new class and the abstract class.

Extend each of the relevant concrete classes that derive from the abstract class.

Improve simple search for work item classes


When you define a custom class that is derived from the "System.WorkItem" class, we
recommend that you store the DisplayName property of that class in the following
format: WorkItem.ID<SPACE>WorkItem.Title.

This improves simple search. Simple search searches only the DisplayName property,
and by explicitly including the Title property value and the ID property value in the
DisplayName property value, the results of simple search are improved. This is because
the user can search either by a word in the title or by ID.

Browse a class in the Authoring tool


You can use the Class Browser pane in the Service Manager Authoring Tool to browse
classes and their properties. While you're browsing classes, you can add a control to a
form by dragging properties from the Class Browser pane to a form that is being
authored in the authoring pane.

The Class Browser pane can display classes from any management pack that is in the
Library folder and from any management pack that has been opened in the Authoring
Tool. When you select a class, the Class Browser pane displays the properties that are
specifically defined for that class and the internal properties that are generated by the
system. By default, the Library folder is in the following location: C:\Program Files
(x86)\Microsoft System Center\Service Manager <version> Authoring\Library.

When you select a management pack in the Class Browser pane, all the classes from the
selected management pack are displayed, and you can expand the class for which you
want to view properties. When you select All Management Packs, all the classes from all
the management packs in the Library folder are displayed. Whenever you change the
selection of the management pack, you must refresh the Class Browser pane.

To browse a class
1. If the Class Browser pane isn't visible in the Authoring Tool, select View, and select
Class Browser.

2. In the Class Browser pane, in the management pack list, select the management
pack that contains the class that you want to browse. For example, select the
System Library management pack.

3. Locate the class that you want to view, such as the Computer class, and then do
the following:

To view the details of the class, such as Description and Internal Name, right-
click the class, and select Details.

To view the list of class properties, such as Display Name and Asset Status,
expand the class in the Class Browser pane. To further view details of a
property, right-click the property, and select Details.

To open the management pack that contains the definition of the class, right-
click the class, and select View.

Edit details of a class in the Authoring tool


You can use the Service Manager Authoring Tool to view the properties of a class and to
edit the details, such as the name or description, of a class.

In the Management Pack Explorer, you can select a class and view its details in the
Details pane. If you select a class that is defined in an unsealed management pack, you
can change the name and description of that class.

Change the name or description of a class


1. On your desktop, select Start.

2. Select Service Manager Authoring Tool, and wait for the Authoring Tool to open.

3. Ensure that both the Management Pack Explorer and the Details panes are open.

4. Select File, and select Open.

5. In the Open File dialog, select an unsealed management pack that contains the
class that you want to change, and select Open. For example, open the Authoring
Tool installation folder
\Samples\Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml sample
management pack.

6. In the Management Pack Explorer, expand the management pack that contains
the class that you want to change.

7. Expand Classes, and then locate and select the class that you want to change.

8. Select the value of the Name or Description property, and then enter the new
value. Values that can't be changed are unavailable.

9. In the Management Pack Explorer, right-click the management pack that contains
the changed class, and select Save.

Create a class using inheritance in the


Authoring tool
In the Service Manager Authoring Tool, you can create a class that inherits properties
and relationships from an existing base class. You can then modify or add properties and
relationships to the new class.

As the first step of defining class inheritance, choose the base class from which to inherit
properties and relationships. In the Authoring Tool, you can choose the base class by
using one of the following methods:

Use a shortcut to inherit properties and relationships from the base configuration
item class.

Use a shortcut to inherit properties and relationships from the base work item
class.

First select the base class, and then start defining the inheritance.

Start defining inheritance without a specific base class selection.

The following procedures describe all the methods for defining class inheritance in
the Authoring Tool.

To start with the configuration item class or the work


item class as a base class
1. If the Management Pack Explorer isn't visible in the Authoring Tool, select View,
and select Management Pack Explorer.

2. In the Management Pack Explorer, select and then expand any management pack.

3. Right-click Classes, and select Create Configuration Item Class or Create Work
Item Class.

4. If you're creating a class from a sealed management pack, in the Target


Management Pack dialog, select an unsealed management pack to store the class
customization, and select OK.

7 Note

If you're creating a class from an unsealed management pack, this class


customization is saved in that selected management pack.

5. In the Create Class dialog, specify the internal name for the new class, and select
Create.

In the authoring pane, you can now view the list of properties of the new class. If
you're creating a configuration item class, all the properties of the configuration
item class are listed. If you're creating a work item class, all the properties of the
work item class are displayed.
6. Select Create property or Create relationship to define new properties and new
relationships for the class.

To start with a selected base class


1. If the Management Pack Explorer isn't visible in the Authoring Tool, select View,
and select Management Pack Explorer.

2. In the Management Pack Explorer, locate and then right-click the base class from
which the new class will inherit properties and relationships. Select Inherit from
this class.

3. In the Inherit New Class dialog, enter an internal name for the class.

In the authoring pane, the Class properties and relationship list displays the
properties of the base class.

4. You can now select Create property or Create relationship to add properties or a
relationship to the new class.

To start without a selected base class


1. If the Management Pack Explorer isn't visible in the Authoring Tool, select View,
and select Management Pack Explorer.

2. In the Management Pack Explorer, select and then expand any management pack.

3. Right-click Classes, and select Create other class.

4. In the Base class dialog, select the base class to inherit properties and relationships
from.

Optionally, if you know in which management pack the base class that you want to
use is defined, you can filter on the respective management pack, and then select
the base class for this customization.

Select OK.

5. If the base class that you selected to inherit properties and relationships from is in
a sealed management pack, in the Target Management Pack dialog, select an
unsealed management pack to store the class customization, and select OK.

If the base class that you selected to inherit properties and relationships from is in
an unsealed management pack, this class customization will be saved in that
selected management pack.

6. In the Create class dialog, specify the internal name for this class, and select
Create.

In the authoring pane, you can now view the list of properties of the new class. This
list includes all the properties of the base class that you selected.

Extend a class in the Authoring tool


You can extend a class in the Service Manager Authoring Tool by adding properties and
relationships to the definition of the class. Extending a class affects all the existing
instances of that class: all instances of that class will be updated to include the new
properties and relationships.

To extend a class
1. If the Management Pack Explorer pane isn't visible in the Authoring Tool, select
View, and select Management Pack Explorer.

2. In the Management Pack Explorer pane, locate and right-click the class that you
want to extend, and select Extend class.

3. In the Target Management Pack dialog, select an unsealed management pack to


store the class extension, and select OK.

4. The Class properties and relationship list on the Extension of class tab in the
authoring pane displays the properties and the relationships of the class. Create
new properties and relationships as follows:

a. Select Create property; in the Create property dialog, enter a name in Internal
name for the new property; and select Create.

b. Select Create relationship; in the Create relationship dialog, enter a name in


Internal name for the new relationship; and select Create.

7 Note

When you're extending a class, don't define a property with an ID that is


already in use in that class.
5. Locate and select the new property or relationship in the Class properties and
relationship list, and modify its properties in the Details pane as needed.

Next steps
To view and edit the properties of objects, see Customize and author forms.
Overview of customizing and authoring
forms with the Service Manager
Authoring Tool
Article • 09/26/2023

A form is a window that makes it possible for users to interact with objects from the
database. Users can use a form to view and edit the properties of objects. Each form is
tied to a specific class, and it displays information only for instances of the targeted
class. A form contains fields. Typically, each field is bound to a specific property of the
form's targeted class. The incident form, for example, is tied to the incident object.
Therefore, the incident form displays information about incident objects in the database.

A Service Manager form consists of the Windows Presentation Foundation (WPF) form
implementation in a Microsoft .NET Framework assembly and a form definition in a
Service Manager management pack. The form definition specifies the class that the form
represents, along with the other properties of the form.

Key concepts about forms


Before customizing forms, you should be familiar with the following form concepts.

How forms are used


When the management pack that contains the form definitions is imported into Service
Manager, the form definitions are stored in the database. Later, when the user initiates a
Service Manager console task that requires the display of an object, Service Manager
must find a form to display the requested object. Service Manager accesses the
database and searches for a form that has been defined for that object. If no form is
defined for the object, Service Manager searches for a form that is defined for the
object's parent object. Service Manager continues to search the entire object's
inheritance hierarchy until it finds a defined form.

Generic forms
If Service Manager can't find any form for the object or for any of its parent objects,
Service Manager dynamically builds a default generic form for that object. The generic
form is a system-generated form that is sufficient for simple form use. The generic form
represents a quick and easy way to create a form for objects without any form
definitions.

By default, the generic form displays all the properties of the form in a simple layout
that you can't change. The generic form displays the properties of all the parent objects
in the inheritance hierarchy of the form, and you can't change that behavior.
Customizations to the generic form are limited. For example, you can specify the
properties that you want the generic form to display; however, the generic form can't be
used as a basis for customization. If you later define a custom form for that object, your
custom form overwrites the object's generic form.

For information about hiding properties in a generic form and other ways that you can
customize a generic form, see the blog post Overview of the Forms Infrastructure and
the Generic Form .

Combination classes in forms


Sometimes, you need a form to display information that is derived from more than one
class. To do this, you create a combination class and then bind a field on the form to the
combination class. For more information about combination classes, see Changes to the
System Center Common Schema.

Functional aspects of a form


A form has the following functional aspects:

1. Initialization

2. Size and location

3. Refresh

4. Submit changes

These aspects are described in the following sections.

Initialization
During initialization, a form's Extensible Application Markup Language (XAML) is parsed
and all the controls on the form are instantiated and loaded. The form's Loaded event
indicates when the form and all the contained elements have been loaded. Data-loading
operations are asynchronous. Therefore, the target instance may not be available when
the Loaded event is raised. Instead, the DataContextChanged event must be used for
notification when the target instance is set for the form. The PropertyChanged event for
the DataContext property can be used in place of the DataContextChanged event.

We recommend that you use the Loaded event for control-related custom initialization
and then use the DataContextChanged or PropertyChanged events on the
DataContext property for target instance-related custom initialization.

Size and location


When a form is displayed in a pop-up window, its initial size is determined based on the
form's Width, Height, MinWidth, and MinHeight properties. If these properties aren't
set for the form, the form's initial size is calculated based on its content.

We recommend that you set these properties as follows:

Set the Width and Height properties of the form to explicitly specify the ideal size.
Consider setting these properties to the Auto value. This sets the width and height
of the form based on the size of the content.

Set the MinWidth and MinHeight properties of the form to specify the smallest
window acceptable for the form. If a user resizes the window to a smaller size than
specified, scrollbars appear for scrolling to the hidden form content.

When the form is hosted inside the Service Manager forms host, the last-used size and
location is preserved for subsequent display of that form by the same user within the
same run session.

Refresh

The target instance of a form can change as a result of executing a Refresh command
on the form. The handler for this command fetches new data from the database. When
the data arrives, the form's DataContext property value is set to the new target instance,
and the DataContextChanged event is raised.

To differentiate between the DataContextChanged event that was raised when the form
was first loaded and the event that was raised to handle a Refresh command, check the
OldValue property of the event arguments that are passed in with the event. This
property is null if the form has just been initialized.

Submit changes

The form host pop-up window in Service Manager provides buttons for submitting
changes that are made in the form and for closing the pop-up window.
When a user selects the Apply button for a form, the form's target instance is submitted
for storage. This operation is synchronous; therefore, the user can't edit the form until
the submission operation is complete. If failure occurs during the form submission, an
error message appears. The form remains open for further changes. We recommend
that users apply their changes frequently to avoid collisions if another instance of the
form is being edited at the same time.

If the user selects the OK button, the behavior is similar to Apply, except that, if the
form submission operation is successful, the form and its host window are closed.

If the user selects the Cancel button, a dialog appears that asks the user to confirm the
operation. The user can select Yes and lose changes, or select No and return to the form.

General guidelines and best practices for forms


You can extend features of Service Manager by adding or modifying forms. This section
describes some best practice recommendations for creating and using Service Manager
forms, using various tools and scripting form definitions directly.

This section is primarily targeted at partners and customers who are experienced in
building their own custom forms by using Windows Presentation Foundation (WPF) and
Microsoft Visual Studio Team System or Microsoft Expression Blend.

The general guidelines for authoring a new form are as follows.

Use standard controls.


Follow general form design guidelines.
Avoid code-behind.
Include exception handling.
Consider forms customization and upgrades.
Name all customizable controls.
Bind the form to data sources.
Use Service Manager forms infrastructure validation rules, value convertors, and
error templates.
Use forms infrastructure commands and events.

For information about these guidelines, see the following sections.

Use standard controls


Controls that are used on a form can be:
Standard controls. This includes .NET library controls, such as combo box and list
box.
Custom controls. This includes additional controls that are created by the form
author or by a third party.

 Tip

When you use standard controls wherever possible and avoid creating custom
controls, you promote consistency with regard to the user experience of forms. If
you must create a custom control, separate the visual appearance and behavior and
the logical behavior by using control templates to define the appearance of the
control. Preferably, there should be a separate control template for each Windows
Theme.

Follow general form design guidelines


When you design a form, use public design guidelines to ensure that the form is user
friendly and that it adheres to common user-interaction paradigms.

For more information about general Windows design, see Windows User Experience
Interaction Guidelines.

In addition:

Divide information across multiple tabs to make the form simpler and easier to
read. Include the most commonly used information on the first tab and
information of lesser importance on the subsequent tabs.
Use layout panels to lay out controls on the form. This ensures that the form
behaves correctly when it's resized and localized.
Avoid setting individual control visual properties, and use styles instead. This
makes it possible for you to change the appearance of all the controls across a
series of forms by modifying the style, and it promotes a consistent appearance
across related forms.

Avoid code-behind
Code-behind is a term that describes the code that is joined with markup-defined
objects when an XAML page is markup compiled. Limit the use of code-behind in a form
as much as possible. It's preferable that you embed the code for a form in the control
itself, because later it's easier to change that code. Instead, use the declarative
capabilities that are supported by the Service Manager forms infrastructure to define
value conversions and validation rules in the form.

As a general guideline, you should limit the use of code-behind to situations in which it
isn't possible to provide the required functionality by using the declarative capabilities
of XAML, with classes defined in the WPF and the forms infrastructure library. Even then,
consider moving the functionality that is implemented in code-behind into a helper
library, and then reference it from the XAML.

Include exception handling


Ensure that the code in the form contains exception handling so that the form can be
loaded both during the design phase in the Authoring Tool and in the Service Manager
console at run time.

Consider forms customization and upgrades


When you're designing a new form, you should consider future customizations and
upgrades to that form. To ensure that it's possible to customize and to upgrade a form
while preserving customizations, follow the guidelines and tips that are provided
previously in this section, along with the following guidelines:

Consider future customizations and upgrades early while you're designing the
form. Forms are likely to evolve in future versions, and it's important to consider
how users will be able to upgrade to new versions of your form while preserving
their customizations to the original form. For example, you might provide an
updated form after users have already invested heavily in customizing your original
form. Users expect their customizations to survive the version upgrade.

Provide a unique name for each control on the form to make it possible for
customizations to be applied to controls. Form customizations are stored as a set
of actions that are targeted at a specific control or a set of controls. The target
control is referenced by name, which is why it's important to preserve control
names across versions of the form. If a control doesn't have a name, the Form
Customization Editor generates a name, but the generated name isn't preserved
across different versions of the form.

Ensure that the control names remain immutable across different versions of the
form. This ensures that customizations for a given control in a previous version can
be applied to the same control in a new version of the form.
If possible, avoid moving controls to a different location on the same tab when you
upgrade a form. A common user customization is moving controls on the form to
a different location. If you change the location of a control in a new version of the
form, there's a risk that the new control location could overlap with a control that
the user has relocated.

If possible, avoid moving controls between tabs when you're designing an update
to an existing form. Controls are identified both by name and by the tab on which
they're located. Moving a control from one tab to another in a new version of the
form can break customizations that the user makes to that control, because the
customizations will fail to identify the target control.

When the update to a form includes new controls, consider adding the new
controls to a new tab. That is the safest way to avoid interfering with any user
customizations to the existing tabs and controls.

Be aware of how controls are bound. Read-only controls should use only one-way
bindings.

Name all customizable controls


Ensure that the control names describe what data the control is bound to, or describe
what the control does.

Bind the form to data sources


The main purpose of a form is to visualize a single object from the Service Manager
database. This object is called a target instance, which is always specified by the
DataContext property of a form (which is inherited from the FrameworkElement class).

) Important

Don't modify the form's DataContext property. The forms hosting environment
uses this property to identify the form target instance.

In the Service Manager data model, a target instance is represented as a


BindableDataItem object. This class aggregates the underlying software development
kit (SDK) object, and it exposes its properties through an indexer, which takes a property
name as a parameter.

The BindableDataItem class also implements ICustomTypeDescriptor, which makes it


possible to use the BindableDataItem class as a data source for WPF binding. The
following is an example of binding a target instance property to the Text property of a
TextBox control:

XML

<TextBox Name="textBoxDescription" Text="{Binding Path=Summary}"/>

It isn't necessary to specify the Source of the binding because the target instances are
set as the DataContext of the form, which serves as the default Source for all the
controls on the form.

Controls on the form can be bound to data sources other than the target instance, and
the forms infrastructure library contains many controls that perform the binding
implicitly. For example, the instance picker control is bound to the data source, which
provides the collection of instances to choose. It's also possible to define additional data
sources declaratively using the ObjectDataProvider and XmlDataProvider classes.

The forms infrastructure considers the target instance as the only read/write data source
on the form. Therefore, the implementation of the Submit command will only store the
changes that are made to the target instance. Other data sources for the form are
treated as read only.

Use Service Manager forms infrastructure validation


Rules, value convertors, and error templates
We recommend that you use forms infrastructure validation rules in forms to designate
data input that isn't valid. The WPF binding infrastructure supports validation for control
properties that are bound to a data source with either one-way or two-way bindings.
The binding object has a ValidationRules collection that can contain any number of
ValidationRule objects. Whenever data is pushed from the control to the data source,
the ValidationRule objects are called to validate the value.

The forms infrastructure library contains many validation rules that handle the most
common cases. The forms infrastructure takes advantage of the validation rules to
determine whether the form contents can be submitted for storing. For example, a
form's Submit button can be disabled if there's a control that has a validation error on
the form.

We recommend that you use the custom error template that is provided with the forms
infrastructure library. If a control has a validation error, it appears by default with a red
border around it. The WPF makes it possible to define a custom error indicator through
the Validation.ErrorTemplate property, which can be set on any control. The Service
Manager forms infrastructure library contains a custom error template, which displays
an error icon instead of the WPF red border. In addition, when a mouse points to the
error icon, a tooltip pops up with an error message. The error message should indicate
the reason why the data in the control failed validation.

The following example shows how to reference the error template in XAML:

XML

<TextBox Text="{Binding SomeProperty}"


scwpf:Validation.ValueRequired="True"
Validation.ErrorTemplate="{DynamicResource {ComponentResourceKey
{x:Type scwpf:Validation}, InvalidDataErrorTemplate}}"/>

If built-in validation rules don't provide the required validation logic, we recommend
that you build custom validation rules to represent that logic. This will make it possible
for standard and custom validation logic to coexist within the common validation
handling mechanism.

If the validation rules mechanism isn't adequate for a particular scenario, you should
instead handle FormEvents.PreviewSubmitEvent and run the validation from there.

The following code example provides an example of the pattern that you can use to run
custom validation:

C#

void MyForm_Loaded(object sender, RoutedEventArgs e)


{
// hook to handle form events
this.AddHandler(
FormEvents.PreviewSubmitEvent,
new EventHandler<PreviewFormCommandEventArgs>
(this.OnPreviewSubmit));
}
private void OnPreviewSubmit(object sender, PreviewFormCommandEventArgs e)
{
string errorMessage;
bool result = this.DoVerify(out errorMessage);
if (!result)
{
// cancel Submit operation
e.Cancel = true;
// display error message
MessageBox.Show(errorMessage);
}
}
internal bool DoVerify(out string errorMessage)
{
// Do custom verification and return true to indicate that
// validation check has passed; otherwise return false and
// populate errorMessage argument
}

Use form infrastructure commands and events


The form infrastructure exposes many commands that can be run on a form. These
commands include:

FormsCommand.Submit, which saves the target instance of the form.

FormsCommand.SubmitAndClose, which saves the target instance of the form


and closes the form.

FormsCommand.Refresh, which repeats the query for the target instance of the
form.

FormCommands.Cancel, which discards all the changes and closes the form.

Each of these commands is bracketed by events, which are raised before and after the
command runs.

Before the command, the following events are raised:

The FormEvents.PreviewSubmit event is raised before the FormCommand.Submit


command, and the FormEvents.Submitted event is raised after the
FormCommand.Submit command.

The FormEvents.PreviewRefresh event is raised before the


FormCommands.Refresh command, and the FormCommand.Refreshed command
is raised after the FormCommand.Submit command.

The FormEvents.PreviewCancel event is raised before the FormCommands.Cancel


command, and the FormCommand.Canceled event is raised after the
FormCommand.Cancel command.

The preview events pass along a PreviewFormCommandEventArgs object. This object


contains a mutable Cancel property that will prevent the corresponding command from
running when the property is set to true.

The post-command events pass a FormCommandExecutedEventArgs object. This


object contains a Result property that indicates whether the running of the command
succeeded, was canceled, or caused an error. In case of an error, the Error property of
the FormCommandExecutedEventArgs object references the exception that provides
information about the error.

It's possible to enable, disable, and run form commands both programmatically and
declaratively.

To enable form commands programmatically, establish a CommandBinding between


the form and the related command.

In the following example, a command binding is established between the form and a
Refresh command, and two handlers are defined for this command. The first handler
returns whether or not the Refresh command can run, and the second handler actually
contains the implementation of the Refresh command:

C#

public class MyForm : UserControl


{
public MyForm()
{
// do standard initialization
// establish CommandBinding for Refresh command
this.CommandBindings.Add(
new CommandBinding(FormCommands.Refresh,
this.ExecuteRefresh, this.CanExecuteRefresh));
}
private void CanExecuteRefresh(
object sender,
CanExecuteRoutedEventArgs e)
{
// put your logic that determines whether Refresh
// can be executed here
bool canExecute = true;
BindableDataItem dataItem = this.DataContext as
BindableDataItem;
if (dataItem)
{
canExecute = dataItem["Status"] != "New";
}
e.CanExecute = canExecute;
}
private void ExecuteRefresh(
object sender,
ExecutedRoutedEventArgs e)
{
// here is placeholder for the code that has do be
// executed upon running Refresh command
}
}

You can also define handlers for form commands declaratively. You can do this by
employing a Rule object that uses a RoutedCommandTrigger. The following code
example shows how to define handlers declaratively:

XML

<scwpf:BusinessLogic.Rules>
<scwpf:RuleCollection>
<scwpf:Rule>
<scwpf:Rule.Triggers>
<scwpf:RoutedCommandTrigger
RoutedCommand="{x:Static scwpf:FormCommands.Refresh}"/>
</scwpf:Rule.Triggers>
<scwpf:Rule.Conditions>
<scwpf:PropertyMatchCondition
Binding="{Binding Status}"
Value="New"
Operation="NotEquals" />
</scwpf:Rule.Conditions>
<!-- Use RuleAction objects to define the logic that
executed
upon running Refresh command; this can be left empty -->
</scwpf:Rule>
</scwpf:RuleCollection>
</scwpf:BusinessLogic.Rules>

Next steps
Customize and author forms with the Service Manager Authoring Tool.
Customize the default incident form for the Authoring Tool sample scenario.
Customize and author forms with the
Service Manager Authoring Tool
Article • 03/28/2023

This article provides guidelines about how to customize and author forms with the
Service Manager Authoring Tool and it describes how to accomplish common authoring
tasks.

Use the following guidelines when you're authoring forms in the Service Manager
Authoring Tool. For more information about how Windows Presentation Foundation
(WPF) forms work and WPF customization guidelines, see Windows Presentation
Foundation on MSDN.

When you're customizing the existing default forms by adding new controls, first
create a new Tab control, and then add the new controls to the new Tab control.
Store all the customizations of a particular form in a single management pack.
Group related controls in a Panel control so that you can better handle them as a
group.
You can drop controls only in containers, such as the Panel container control.
Set one or more of the following control properties to Auto to allow for dynamic
adjustment of placement: Height, Width, Minimum Height, Minimum Width, Left,
Top, Right, and Bottom. Depending on the resulting behavior, adjust these
settings.

Browse a form
Use one of the following procedures to browse a form in the Service Manager Authoring
Tool. In both the procedures, ensure that the properties in the Details pane are updated
according to the class property that is bound to the selected control. Also, the Binding
Path entry in the Details pane indicates the respective property that the field in the form
represents.

Browse a form from the Form Browser


1. If the Form Browser pane isn't visible, select View, and select the Form Browser
tab.
2. In the Form Browser pane, select the management pack that contains the form
that you want to view.
3. In the list of forms, right-click the form that you want to view, and select View. The
form opens in the authoring pane.
4. Ensure that the Details pane is visible. If not, select View on the menu bar, and
select Details Window. The properties of the form appear in the Details pane.
5. Select a control on the form.

Browse a form from Management Pack Explorer


1. In the Authoring Tool, select File, and select Open.
2. In the Open a Management Pack dialog, select the management pack that
contains the form that you want to view. For example, select Management Packs
as the file type, and then select the
ServiceManager.ChangeManagement.Library.mp management pack in the
D:\Program Files (x86)\Microsoft System Center\Service Manager <version>
Authoring\Library folder.
3. In the Management Pack Explorer, select the opened management pack, and then
expand Forms. Right-click the form that you want to view, and select View form.
The form opens in the authoring pane.
4. Ensure that the Details pane is visible. If not, select View on the menu bar, and
select Details Window. The properties of the form appear in the Details pane.
5. Select a control on the form.

Customize a form
You can use the Service Manager Authoring Tool to customize some properties of a
form. For example, you can change the layout of the form's fields, and you can add an
icon to the form.

To customize a form, you open the management pack file that contains the original form
definition. After you complete the customizations, you save the changes to a
management pack file. If the original form is defined in an unsealed management pack,
you save your customizations to that management pack. If the original form is defined
in a sealed management pack, you must save your customizations to an unsealed
management pack that is already open in the Authoring Tool or to an unsealed
management pack that you create.

To use the custom form in Service Manager, import the management pack that contains
the custom form into the Service Manager console. Then, when you run a task that
requires that form, the custom form is displayed instead of the default form.

Use the following procedure to customize an existing form.


) Important

You can't perform two customizations to the same form at the same time.
Additionally, the Authoring Tool option Undo all customizations doesn't fully
delete information from the management pack. If you want to remove all artifacts,
delete the customized form, which removes it and any associated type projection
from the management pack.

Customize an existing form


1. In the Authoring Tool, select File, and select Open.
2. In the Open File dialog, select the management pack that contains the form that
you want to customize, and select Open. For example, select the Change
Management Library management pack. The path might be Authoring Tool
installation drive\Program Files (x86)\Microsoft System Center\Service Manager
<version> Authoring\Library\ServiceManager.ChangeManagement.Library.mp.
3. Locate the form that you want to customize using the Form Browser or the
Management Pack Explorer, as follows:
Using the Form Browser:
a. In the Form Browser, select All Management Packs or select the management
pack that contains the form that you want to customize, such as the Service
Manager Change Management Library management pack.
b. Right-click the form that you want to customize, such as the form that ends with
ChangeRequestForm, and select View.
c. In the authoring pane, select Customize.
Using the Management Pack Explorer:
i. In the Management Pack Explorer pane, select the management pack that
contains the form that you want to customize, such as the Service Manager
Change Management Library management pack.
ii. Expand Forms, and then right-click the form that you want to customize,
such as the form that ends with ChangeRequestForm.
iii. Select Customize.
4. In the Target Management Pack dialog, select an unsealed management pack in
which to save this customization, and select OK.
In the Management Pack Explorer pane, a new form item appears in the Forms list
of the management pack that you specified as the targeted management pack.
The name of the new form ends with the string (Customized).
5. In the authoring pane, you can rearrange the location of the controls on the form
to change the appearance and behavior of the form. Also, you can add controls to
the form by doing the following:
Drag controls from the Form Customization Toolbox pane.
Drag specific properties from the Class Browser pane. This will automatically
create and bind the control according to the property that you dragged.

Create a new form


If you defined a new custom class to extend Service Manager, you might have to create
a custom form to interact with that class. You can use the Service Manager Authoring
Tool to create a form using either of the following methods:

Start from a base class.


Load a custom Windows Presentation Foundation (WPF) form that was initially
developed by the Microsoft Visual Studio development system, and continue to
customize that form in the Authoring Tool.

The Authoring Tool includes form controls, such as the Check Box, Date Picker, Tab
Control, and Tab Item, that you can add to the form. You can access these controls from
the Form Customizations Toolbox. Typically, you bind the form controls to specific
properties of the form's base class. Therefore, using either method you must first select
a base class for the form to be associated with. For more information about the controls
that you can add to a form, see the previous sections in this article, such as How to Add
a Check Box Control to a Form in the Authoring Tool and How to Add a Tab Control and
Tab Item Controls to a Form in the Authoring Tool.

The following sections describe how to create a new form in the Authoring Tool.

Create a new form from a base class


Use the following procedure to create a simple form from a base class.

7 Note

When you create a form from a base class, the Authoring Tool doesn't support
advanced capabilities. For example, there's no support for code-behind, complex
rules such as field interdependency or calculated values.

Create a new form from a base class


1. In the Management Pack Explorer, expand the management pack in which you
want to store the new form. Right-click Forms, and select Create.
2. In the Base class dialog, select the base class for the form. You can narrow your
search by selecting a specific management pack, or you can leave the default All
Management Packs. Select OK.
3. If you selected a sealed management pack in step 1, the Target Management Pack
dialog appears. Select an unsealed management pack in which to store the form,
and select OK.
4. In the Create form dialog, in the Internal name box, enter a name for the form,
and select Create.
An initial blank form is displayed in the authoring pane. The initial form consists of
a header section at the top and a body section underneath; both sections are
blank.
5. Customize the form by dragging controls from the Form Customizations Toolbox
pane to the new form.
6. Save the management pack that contains the form that you created.

Create a new form that is based on a custom WPF form


Sometimes a simple form isn't sufficient, and you must use advanced features, such as
custom logic, in the form. In this case, you can develop a custom WPF form by using a
tool other than the Authoring Tool instead of using Visual Studio. Then, instead of
authoring a form from base class, you load that WPF form's assembly file into the
Authoring Tool and use that as a starting point for further customizations to the form.
The form customizations that you make in the Authoring Tool are stored in a
management pack file.

Later, to use the customized form in Service Manager, after you complete all
customizations, you must bundle the original form assembly file with the management
pack that contains the customizations that you made in the Authoring Tool. For more
information about bundling a management pack and creating a .mpb file, see How to
Bundle Management Packs and Resource Files.

Use the following procedure to load a custom WPF form assembly file into the Service
Manager and customize that form.

Create a new form that is based on a custom WPF form


1. In the Management Pack Explorer, expand the management pack in which you
want to store customizations to the form. Right-click Forms, and select Add
Custom.
2. In the Base class dialog, select the base class for the form. You can narrow your
search by selecting a specific management pack, or keep the default All
Management Packs. Select OK.
3. If you selected a sealed management pack in step 1, the Target Management Pack
dialog appears. Select an unsealed management pack in which to store the form,
and select OK.
4. In the Add custom form dialog, enter a name in the Internal name box. In the
Assembly box, select the assembly file that contains the custom form that you
want to load, and in the Type box, select the name of the form from the assembly
file that you want to load. Select Create. The form that you selected is now
displayed in the authoring pane.
5. Customize the form by dragging controls from the Form Customizations Toolbox
pane to the form on the authoring pane.
6. Save the management pack that contains the customizations of the form.
7. Bundle the form's original assembly file, the management pack that contains the
form customizations that you made in the Authoring Tool, and any other resource
files that you need, to create an .mpb file.

Add a check box control to a form


A Check Box control in the Service Manager Authoring Tool presents an option on the
form, and lets the user choose that option. You can modify the properties of the Check
Box control to customize characteristics such as the label that is displayed on the check
box.

Use the following procedure to add a Check Box control to a form.

Add a Check Box control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form you
want to customize is open in the authoring pane.
2. Drag the Check Box icon from the Form Customization Toolbox pane to the form.
Select the Check Box control on the form.
3. In the Details pane, select the Content property and set its value to text that will
be displayed on the check box.
4. In the Details pane, select the Binding Path property, and select the ellipsis button
(...). In the Binding Path dialog, expand the classes, and then select a Boolean
property for the control to bind to.

7 Note

The Content property is automatically set to the display name of the property
that the control is bound to.
5. Select any other property, such as Font Family, in the Details pane to customize
the properties of the Check Box control.
6. Select File, and select Save All to save the custom form to a management pack.

Add a date picker control to a form


A Date Picker control in the Service Manager Authoring Tool is used for displaying dates
on a form. You can modify the properties of the Date Picker control to customize
characteristics such as the format of the date that is displayed.

Use the following procedure to add a Date Picker control to a form.

Add a Date Picker control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Date Picker icon from the Form Customization Toolbox pane to the
form. Select the Date Picker control on the form.
3. In the Details pane, select the Binding Path property. Select the ellipsis button (...),
and then in the Binding Path dialog, select the class property that you want the
Date Picker control to bind to.
4. Select any property, such as Date Format, in the Details pane to customize the
properties of the Date Picker control.
5. Select File, and select Save All to save the custom form to a management pack.

Add an image control to a form


An Image control in the Service Manager Authoring Tool is used for displaying an
image. You can modify the properties of the Image control to customize characteristics
such as the location, size, and image that is displayed.

Use the following procedure to add an Image control to a form.

Add an Image control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Image icon from the Form Customization Toolbox pane to the form.
3. In the Insert Image dialog, specify the path of the image file for the image.
7 Note

The image you chose appears on the form.

4. Select any property in the Details pane to customize other properties of the Image
control.
5. Select File, and select Save All to save the custom form to a management pack.

Add a label control to a form


A Label control is used in the Service Manager Authoring Tool for displaying a label on a
form. You can modify the properties of the Label control to customize characteristics
such as the text string that the label displays.

Use the following procedure to add a Label control to a form.

Add a Label control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Label icon from the Form Customization Toolbox pane to the form.
Select the Label control on the form.
3. In the Details pane, select the Binding Path property. Select the ellipsis button (...),
and then in the Binding Path dialog, select the class property that you want the
Label control to bind to.
Alternatively, if you want the Label control to display a static string, select the
Content property and enter a string to replace the default Label_1 string. It will be
displayed on the form.
4. Select any other property in the Details pane to customize properties of the Label
control.
5. Select File, and select Save All to save the custom form to a management pack.

Add a list picker control to a form


The List Picker control in the Service Manager Authoring Tool is a custom control that is
used for selecting an item from a prepopulated list of items. You can modify properties
of the List Picker control to customize the characteristics of the control.

One of the characteristics of the control that you've to set is the list of items that will
populate the List Picker control that you're creating. You can either choose an existing
list, such as the Activity Priority list, or you can create a new list while you're creating
the control.

To add list items to a newly created list, you must use the Service Manager console. You
can't use the Authoring Tool to add list items to a newly created list. For more
information about using the Service Manager console to add list items, see How to Add
a List Item.

Use the following procedure to add a List Picker control to a form.

Add a List Picker control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the List Picker icon from the Form Customization Toolbox pane to the form.
Select the List Picker control on the form.
3. In the Details pane, select the List type property, and select the ellipsis button (...).
In the Select a list dialog, select the list of items that will populate the List Picker
control that you're creating. Select a list from the Available lists list.
Select OK.
4. Select any other property, such as Width or Height in the Details pane to
customize other properties of the List Picker control.
5. Select File, and select Save All to save the custom form to a management pack.

Add a panel control to a form


The Panel control in the Service Manager Authoring Tool is a Layout control that helps
you manage a group of related controls. Typically, you drag and position several
controls that have a related purpose on the form on a panel control. Then, if you need
to move the controls that are on the panel, instead of moving each control individually,
you can move the Panel control.

Use the following procedure to add a Panel control to a form.

To add a panel control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Panel icon from the Form Customization Toolbox pane to the form. You
can now add other controls on the Panel control.
Add a single instance picker control to a form
A Single Instance Picker control in the Service Manager Authoring Tool is a custom
control. It's used for presenting a list of instances of a certain class, and it lets the user
select an instance from that list. This control resembles the User Picker control, but
instead of being based on the User class, it's based on any class that you specify,
including custom classes. You can modify properties of the Single Instance Picker
control to customize characteristics such as the class whose instances will populate the
list.

Use the following procedure to add a Single Instance Picker control to a form.

Add a Single Instance Picker control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Single Instance Picker icon from the Form Customization Toolbox pane
to the form. Select the Single Instance Picker control on the form.
3. In the Details pane, select the Binding Path property, and select the ellipsis button
(...). In the Binding Path dialog, select the related class whose instances will
populate the control's instances list on the form.
4. Select any other property, such as Width or Height, in the Details pane to
customize other properties of the Single Instance Picker control.
5. Select File, and select Save All to save the custom form to a management pack.

Add a tab control and tab item controls to a


form
A Tab Control control, combined with Tab Item controls, is used for arranging visual
content in tabular form in the Service Manager Authoring Tool. You can modify the
properties of these controls to customize characteristics such as the appearance and
layout. Typically, the Tab Control control is accompanied by several Tab Item controls
that enable selection of individual items inside the Tab Control.

Use the following procedures to add a Tab Control control and a Tab Item control to a
form.

Add a Tab Control control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Tab Control icon from the Form Customization Toolbox pane to the
form. Select the Tab Control control on the form.
3. Select any property in the Details pane to customize the properties of the Tab
Control control.
4. Select File, and select Save All to save the custom form to a management pack.

Add a Tab Item control to a form


1. Add a Tab Control control as described in the previous procedure, and then select
it on the form.
2. Drag the Tab Item icon from the Form Customization Toolbox pane, and drop it
on the Tab Control control that it should be associated with.
3. Right-click the Tab Item control, and select Edit Content. Enter the text that you
want to appear as the label on the Tab Item. Select any property in the Details
pane to customize other properties of the Tab Item control.
4. Select File, and select Save All to save the custom form to a management pack.

Add a text box control to a form


A Text Box control is used in the Service Manager Authoring Tool for text display and
editing. You can modify the properties of the control to customize characteristics such
as the location, the size, the wrapping behavior, and the text of the Text Box control.

Use the following procedure to add a Text Box control to a form.

Add a Text Box control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the Text Box icon from the Form Customization Toolbox window to the
form. Select the Text Box control on the form.
3. Set a text string by doing either of the following:

In the Details pane, select the Binding Path property. Select the ellipsis
button (...), and then in the Binding Path dialog, select the class property that
you want the Text Box control to bind to.
Select the Text property. Select the default Text Box string value and replace
it.
7 Note

The new string value that you entered now appears on the form.

4. Select the Accepts the ENTER key property, and set its value to True. In the
deployed form, this value lets users enter multiple lines of text.
5. Select any other property, such as Horizontal Scroll Bar Visibility and Maximum
Lines, in the Details pane to customize other properties of the Text Box control.
6. Select File, and select Save All to save the custom form to a management pack.

Add a user picker control to a form


The User Picker control is a Service Manager custom control that is used for choosing a
user from a drop-down list of users. You can modify the properties of the User Picker
control in the Service Manager Authoring Tool to customize characteristics such as the
layout and the list of users to bind to.

Use the following procedure to add a User Picker control to a form.

Add a User Picker control to a form


1. Ensure that the Form Customization Toolbox pane is open and that the form that
you want to customize is open in the authoring pane.
2. Drag the User Picker icon from the Form Customization Toolbox pane to the
form. Select the User Picker control on the form.
3. In the Details pane, select the Binding Path property, and select the ellipsis button
(...). In the Binding Path dialog, select the related user class that represents the
user instances that you want this control to bind to. On the deployed form, the
user can use this control to view and pick one of the user instances of the specified
related user class.
4. Select any property in the Details pane to customize the properties of the User
Picker control.
5. Select File, and select Save All to save the custom form to a management pack.

Next steps
Customize the default incident form for the Authoring Tool sample scenario.
Customize the default incident form for
the Service Manager Authoring Tool
sample scenario
Article • 03/15/2023

This sample scenario describes how to apply simple customizations to a default form in
the Service Manager Authoring Tool. In this scenario, you customize the Incident form,
which is the default form for interacting with incidents. You customize the form in the
Authoring Tool and then save the customized form in a new management pack. Then, in
the Service Manager console, you import this new management pack. Afterwards,
whenever you create or view an incident, Service Manager displays the customized form.
The Incident form, System.WorkItem.Incident.ConsoleForm, is defined in the Service
Manager Incident Management Library management pack.

The sample scenario for customizing the default Incident form consists of three steps.

Step 1: View the default incident form


Before you customize the form, view the default form in the Service Manager console
and identify elements on the form that you want to customize. For example, you can
plan to rearrange various text boxes on the form.

To view the default incident form


1. In the Service Manager console, select Work Items.

2. In the Work Items pane, select Incident Management.

3. In the Tasks pane, select Create Incident.

4. Review the Incident form. This form is the form that you use to create and view
incidents. You can identify elements in the form that you might want to customize.

Step 2: Customize the default incident form


Use the following procedure to customize the default Incident form in the Authoring
Tool.
To customize the Incident form
1. Select Start, point to Programs, point to Microsoft System Center, point to
Service Manager <version> Authoring, and select Service Manager Authoring
Tool.

2. In the Authoring Tool, select File, and select New.

3. In the New Management Pack dialog, in the File name box, enter
MyIncidentFormCustomizations, and select Save.

7 Note

The MyIncidentFormCustomizations management pack is now listed in the


Management Pack Explorer.

4. In the Form Browser pane, locate and then right-click the


System.WorkfItem.Incident.ConsoleForm form, which is the default Incident form,
and select View.

7 Note

The Service Manager Incident Management Library management pack,


which contains the default Incident form, is now listed in the Management
Pack Explorer.

5. In the authoring pane, select Customize.

6. In the Target Management Pack dialog, select MyIncidentFormCustomizations,


and select OK.

7. Wait for the authoring pane to display the form that you're customizing. You can
now add controls, such as a Label, a Text Box, or an Image, to the form. Ensure
that the Details window is open and visible, so that you can browse and modify
properties of the controls.

8. In the Management Pack Explorer, right-click MyIncidentFormCustomizations,


and select Save.

9. Exit the Authoring Tool.


Step 3: Use the customized default incident
form
Use the following procedure to view and use the customized Incident form in the
Service Manager console.

To use the customized


System.WorkItem.Incident.ConsoleForm form
1. Start the Service Manager console, and select Administration.

2. In the Administration pane, select Management Packs.

3. In the Tasks pane, select Import.

4. In the Select Management Packs to Import dialog, select the


MyIncidentFormCustomizations.xml management pack file. Select Open.

5. In the Import Management Packs dialog, select Import, wait for the management
pack to be imported, and select OK.

6. Select Incidents, and then in the Tasks pane, select Create Incident.

7 Note

The Incident form that is displayed is your customized form.

7. Fill in the form, and then save the incident.

Next steps
For information that can help you customize and create forms in the Service
Manager Authoring Tool, review Form control properties in the Authoring Tool.
Automate IT processes with workflows
in Service Manager
Article • 09/26/2023

Using Service Manager, you can automate many administrative processes that
previously required manual tasks. The feature that makes this automation possible is the
Windows Workflow Foundation (WF) workflow. A WF workflow comprises workflow
activities, which are also referred to as WF activities to differentiate them from other
Service Manager activity types. Each workflow activity performs a function, such as
joining a user or a computer to a group in Active Directory Domain Services (AD DS),
creating a Service Manager incident, or running a script. You can assemble WF activities
into a workflow that performs a set of tasks, and you can specify the conditions under
which the workflow runs.

This article describes functionality in Service Manager that you can use to automate
processes. It describes the relationships between workflows and management packs,
and it describes the Windows Workflow Foundation (WF) activities that the Service
Manager Authoring Tool provides in the default Activity Library.

Workflows and management packs


Service Manager runs a Windows Workflow Foundation (WF) workflow using trigger
condition information stored in the management pack. For each workflow, the
management pack contains one data source module and one write action module. The
data source module defines the condition that triggers the workflow to run, and the
write action module defines the workflow actions. The management pack also stores any
script information that the workflow uses.

Files and formats


In addition to the management pack file, WF workflows require several supporting files:

Authoring environment files. When you create or edit a workflow, these files store
the raw workflow information, such as property values and workflow logic.

Compiled workflow assembly file (workflowname.dll). When you save a


management pack in the Service Manager Authoring Tool, the tool also compiles
any raw workflow files (the XOML and CS files) into a workflow assembly (DLL) file.
Activity assembly files (activityname.dll). These files contain definitions of the
available workflow activities. The Authoring Tool can't modify the activity assembly
files.

To implement a management pack with workflows in your Service Manager console


environment, ensure that Service Manager has access to the workflow assembly file and
the activity assembly files, as well as the management pack itself. The following
illustration shows how the various files interact when a workflow runs.

Trigger conditions for workflows


A workflow's data source module defines the workflow trigger condition. A workflow
can have one of two types of trigger condition:
Timer. This option (also referred to as a schedule) triggers the workflow on
designated days of the week or at another specified interval.

Database query. This option (also referred to as a subscription) triggers the


workflow when a specific type of change occurs to a specific class of object. You
can select the class from any of the installed management packs, and you can
choose from three types of changes:

When a new instance of the class is created

When an instance of the class is updated

When an instance of the class is deleted

The Activity Library


The Activity Library in Service Manager Authoring Tool provides many workflow
activities for building basic Windows Workflow Foundation (WF) workflows. Each activity
performs a discrete function, such as establishing a loop structure within the workflow,
running a script, or creating a Service Manager incident. The Activity Library includes the
following types of activities:

Active Directory Activities - Activities that perform Active Directory functions, such
as adding users or computers to groups.

Control Flow Activities - Activities that provide structure for the workflow, such as
loops and if-else branches.

Virtual Machine Manager Activities - Activities that you can use to build workflows
that perform simple operations with virtual machines.

Script Activities - Activities that run Windows PowerShell, command-line, or


Microsoft Visual Basic Scripting Edition (VBScript) scripts.

Service Manager Activities - Activities that perform Service Manager functions,


such as creating or updating incidents.

The following tables list the default activities that are available with the Authoring
Tool:

Active Directory Description


activity

Add AD DS Use this activity to add a computer to a security group in Active Directory
Computer To Group Domain Services (AD DS).
Active Directory Description
activity

When you use this activity, ensure that the Service Manager Workflow
account has sufficient permissions to modify security groups in AD DS.

Add AD DS User To Use this activity to add a user to a security group in AD DS.
Group
When you use this activity, ensure that the Service Manager Workflow
account has sufficient permissions to modify security groups in AD DS.

Control Description
Flow
activity

Delay Use this activity to introduce a delay between activities in a workflow.

For Each Use this activity to repeat a certain set of activities for a defined number of
Loop iterations.

IfElse Use this activity to control the sequence of activities within a workflow based on a
Boolean (True/False) condition. You can use the outcome of a previous activity
(such as a script activity) for the condition.

Parallel Use this activity to fork the sequence of activities into two simultaneous
sequences of activities.

Virtual Machine Description


Management activity

Get VM Use this activity to retrieve a list of one or more virtual machine IDs
from a System Center Virtual Machine Manager (VMM) Library.

Move VM Use this activity to move a virtual machine from the VMM library to a
maintenance host.

Shutdown VM Use this activity to shut down the guest operating system on a
virtual machine.

Start VM Use this activity to start a stopped or paused virtual machine.

Save State VM Use this activity to save the state of a virtual machine, and then stop
the virtual machine.

Script activity Description

Command Script Use this activity to run a command-line script as part of a WF


workflow.
Script activity Description

VBScript Script Use this activity to run a VBScript script as part of a WF workflow.

Windows PowerShell Use this activity to run a Windows PowerShell script as part of a WF
Script workflow.

Service Manager activity Description

Create Incident Use this activity to create and populate a Service Manager
incident.

Get Incident Use this activity to retrieve one or more Service Manager incidents.

Update Incident Use this activity to save property changes to one Service Manager
incident.

Set Activity Status To Use this activity to update the status of a Service Manager
Completed automated activity.

Next steps
Manage workflows with the Authoring Tool.
Add or remove workflow activities.
Configure the way activities manage and pass information.
Manage workflows with the Service
Manager Authoring Tool
Article • 03/15/2023

To use a workflow to automate a process in the Service Manager Authoring Tool, you
must define what the workflow should do, when it should run, and what information it
needs. You can start with general definitions and then refine them until you have details
that you can work with in Service Manager.

Use the procedures in this section to create or delete workflows in the Service Manager
Authoring Tool. The Authoring Tool provides a wizard to help you create workflows.

All workflows run under the security context of the Service Manager Workflow account.

Create a new workflow


Use the Create Workflow Wizard to create a new workflow in the Service Manager
Authoring Tool. After you create the workflow, you can populate the workflow with
activities, as described in Adding or Removing Workflow Activities.

) Important

All the workflows run under the security context of the Service Manager Workflow
account.

The following procedures guide you through the process of creating a new workflow:

If you want to create a workflow that runs according to a schedule or a fixed time
interval, use the procedure To create a new workflow triggered by a timer or
schedule.
If you want to create a workflow that runs in response to a change in the Service
Manager database, use the procedure To create a new workflow triggered by a
database change. In the Woodgrove Bank customization scenario, Ken uses this
procedure to create a workflow named AddComputertoADGroupWF.

) Important

After you've completed the wizard, you can't change the type of trigger that the
workflow uses. For example, after you create a workflow that uses a timer trigger,
you can't change it to use a database trigger instead.

To create a new workflow triggered by a timer or


schedule
1. In the Authoring Tool, open the management pack where you want to store this
workflow.
2. In the Management Pack Explorer, right-click Workflows, and select Create.
3. On the General page of the Create Workflow Wizard, enter a name for the
workflow. The name must include only alphanumeric or underscore characters,
have 50 or fewer characters, and start with an alphabetical or underscore character,
and it can't have spaces. For example, enter AddComputerToADGroupWF.
4. If you want to add a description of the workflow, enter it in the Description box.
Although there's no limit on the length of this text, some views (such as the list of
the workflow's properties on the Summary page of the wizard) might only display
the first 200 characters.
5. If you want to change the default values for the workflow retry interval and the
maximum time to run, on the General page, select Advanced. In the Advanced
dialog, set new values for Interval and for Maximum time to run the workflow,
and select OK. The value for the maximum time to run must be more than 60
seconds, but less than 24 hours.
6. On the Trigger Condition page, if you want the trigger to run at a specific time or
at a specific interval, use the default setting Timer, and select Next.
7. On the Trigger Criteria page, configure the interval at which to run the workflow
(either Weekly or Other Interval):

a. To set the workflow to run on specific days of the week, select Weekly. Use the
Start time dial control to set a start time for the rule. To set the hour, minutes,
or 00:00-24:00 values, select the value, and select the up or down arrow. Then,
select the checkboxes for each day that you want the rule to run.

7 Note

The time that you set is the time on the Service Manager server that runs
the workflow, not the local time on the server that runs the Authoring Tool.

-or-
To set the workflow to repeat after a specific time, select Other Interval. In the
Frequency box, enter an integer value, and then select the type of interval
(Days, Hours, Minutes, or Seconds).
b. After you've set the interval for the workflow, select Next.
8. On the Summary page, review the settings for the new workflow, and select
Create. After the wizard is completed, select Close.

To create a new workflow triggered by a database change


1. In the Authoring Tool, open the management pack where you want to store this
workflow.
2. In the Management Pack Explorer, right-click Workflows, and select Create.
3. On the General page of the Create Workflow wizard, enter a name for the
workflow. The name must include only alphanumeric or underscore characters,
have 50 or fewer characters, and start with an alphabetical or underscore character,
and it can't have spaces. For example, enter AddComputerToADGroupWF.
4. If you want to add a description of the workflow, enter it in the Description box.
Although there's no limit on the length of this text, some views (such as the list of
the workflow's properties on the Summary page of the wizard) might only display
the first 200 characters.
5. If you want to change the default values for the workflow retry interval and the
maximum time to run, on the General page, select Advanced. In the Advanced
Workflow Limits dialog, set new values for these options, and then select OK. The
value for the maximum time to run must be more than 60 seconds, but less than
24 hours.
6. On the Trigger Condition page, select Run only when a database object meets
specified conditions, and select Next.
7. On the Trigger Criteria page, to select a Class name, select Browse. In the Class
Property dialog, select the class of object with which the workflow will interact,
and select OK. For example, select Automated Activity: Add Computer To AD
Group.
8. To select a Change event, select the dropdown list, select one of the options, and
select Next. For example, select the dropdown list, and select When an instance of
the class is updated.
9. Optionally, under Add Criteria to this trigger, select Additional Criteria to set
advanced criteria, such as when the activity status changes from Pending to In
Progress.
10. On the Summary page, review the settings for the new workflow, and select
Create. After the wizard is completed, select Close.

Save and build a workflow


Workflows are saved whenever you save the management pack. In addition, when you
save a management pack, the Service Manager Authoring Tool automatically identifies
the Windows Workflow Foundation (WF) workflow files that are associated with the
workflow information in the management pack and builds them into workflow
assemblies. (Each WF workflow may have multiple raw files.) The tool builds one
assembly per workflow.

To save and build workflows


In the Management Pack Explorer, right-click the management pack, and select
Save.

Copy a workflow
Use this procedure to create a copy of a workflow in the Service Manager Authoring
Tool. After you copy the workflow, you can edit the properties of either the copy or the
original.

To copy a workflow
In the Management Pack Explorer, expand Workflow, right-click the workflow you
want to copy, and select Copy.
The Authoring Tool creates a copy of the workflow and gives it a name that
consists of the original workflow name and "_Copy."

Edit a workflow's details


Use this procedure to edit workflow details in the Service Manager Authoring Tool.

To edit workflow details


1. In the Management Pack Explorer, expand Workflow, right-click the workflow,
and select Details. If you're already editing the workflow, right-click the authoring
pane background, and select Details.

2. If you want to edit the workflow description, in the Details pane, select the
Description box and enter a new description, or select the ellipsis button (...) to
open the Workflow Properties dialog. Select the Description box, and then edit
the description.
3. If you want to edit any of the other workflow details, in the Details pane, select any
of the details, and select the ellipsis button (...) to open the Workflow Properties
dialog. You can edit the following details:

Name: On the General tab, select Name, and then edit the workflow name.

Retry and timeout limits: On the General tab, select Advanced, and then edit
the appropriate values.

Trigger condition for a timer-based workflow: On the Scheduler tab, edit the
appropriate values.

Trigger condition for a query-based workflow: On the Trigger tab, edit the
appropriate values.

) Important

If you change the trigger class of the workflow while the workflow is
open in the authoring pane, any activity details that were set to use
values from properties of the trigger class are cleared. The workflow
doesn't run until you reset those activity details to use values from the
new trigger class. You can't change the type of trigger that the workflow
uses. For example, after you create a workflow that uses a timer trigger,
you can't change it to use a query trigger instead.

Delete a workflow
Use this procedure to delete a workflow in the Service Manager Authoring Tool.

To delete a workflow
1. In the Management Pack Explorer, expand Workflow, right-click the workflow you
want to delete, and select Delete.
2. To ensure that the workflow is permanently deleted, save the management pack.

Next steps
To add activities to a workflow; remove, copy, and paste activities; and configure
specialized activities to import Windows PowerShell scripts into your workflow, see
Add or remove workflow activities.
Add or remove Service Manager
workflow activities
Article • 03/15/2023

Workflow activities are the building blocks of a workflow. You can use the procedures in
this section to add activities to a workflow; remove, copy, and paste activities; and
configure specialized activities to import Windows PowerShell scripts into your
workflow.

Add an activity to a workflow


Use this procedure to add an activity to a workflow from the Activities Toolbox pane in
the Service Manager Authoring Tool.

In the Woodgrove Bank customization scenario, Ken uses this procedure to add the
Windows Workflow Foundation (WF) activities Add AD DS Computer to Group and Set
Activity Status to Completed to his workflow.

To add an activity to a workflow


1. In the Management Pack Explorer, expand Workflows, right-click the workflow
you want, and select Edit. This opens the workflow in the authoring pane. For
example, right-click AddComputerToADGroupWF, and select Edit.

2. In the Activities Toolbox pane, locate the appropriate activity group.

3. Drag the activity you want to the authoring pane, and then drop it between the
workflow Start and End icons or between two existing activities. The sequence of
activities that is displayed in the authoring pane—from the top down—represents
the order in which the activities will run. To run activities in a loop or if-else
structure, drag the structure activity (such as For Each Loop) onto the authoring
pane first, and then drop the activities into the structure activity.

For example, drag Add AD DS Computer to Group from the Active Directory
Activities group to the authoring pane, and then drop it between the workflow
Start and End icons. Then, drag Set Activity Status to Completed and drop it
between the previous activity and the End icon.

4. You can set the properties of an activity immediately after you add it to the
authoring pane, or you can set the properties later.
7 Note

If you don't set the properties at this time, the activity might be marked with a
Red Exclamation Point icon. This icon indicates that one or more properties of
the activity must be set before the activity can run. To see a list of these
required properties, select the icon.

Copy and paste an activity within a workflow


If your workflow uses multiple activities of the same type (such as multiple Add AD DS
Computer To Group activities), you can use copy and paste functionality in the Service
Manager Authoring Tool to quickly duplicate activities. To duplicate the values of the
activity's properties with the activity, set the values for the properties, and then copy and
paste the activity.

To copy and paste an activity


1. In the Management Pack Explorer, expand Workflows, right-click the workflow
you want, and select Edit. This opens the workflow in the authoring pane.

2. In the authoring pane, right-click the activity, and select Copy.

3. Do one of the following:

To paste the activity at the end of the workflow, right-click the authoring
pane, and select Paste.

To paste the activity immediately after an existing activity, right-click the


existing activity, and select Paste.

Add a script to a workflow


The Activity Library includes specialized activities that incorporate Windows PowerShell
scripts, VBScript scripts, or command-line scripts into workflows. Use a script activity to
import the content of the script and to define the parameters that the script requires to
run. The Service Manager Authoring Tool creates a task in the management pack to
manage the script and store the script content and parameters.

Service Manager doesn't verify the script parameters; therefore, you've to ensure that
the script logic handles validation. Also, when you create an incident with an extended
property and don't provide a value for the extended property, the value of the
parameter isn't parsed, and it's passed as $Data/Property.

Script activities run as a separate process from the workflows; however, they also run
under the security context of the Service Manager Workflow account.

Use the following procedure to add a script to a workflow.

To add a script to a workflow


1. In the Management Pack Explorer, expand Workflows, right-click the workflow
that you want, and select Edit. This opens the workflow in the authoring pane.

2. In the Activities Toolbox pane, locate the activity group Script Activities and its
subgroup Generic Script Activities. Drag the script activity that you want to use to
a position between the workflow start and workflow end icons or between two
existing activities.

3. Set the script activity properties:

a. In the Details pane, select any of the properties in the Activity Inputs category,
and select the ellipsis button (...) that appears next to the property.

b. In the Configure a Script Activity dialog, select Import Script. In the Import
dialog, select the script file that you want to use, and select Open.

U Caution

After you import a script for a script activity, if you select Import Script
again, any new script that you import completely replaces the previous
script.

c. Select Script Properties. To create a parameter for the script, select New, and in
the Name column, enter a name.

7 Note

For VBScript script and command script activity, there's no Name column.

d. To set a value for the parameter, in the Value column, enter a constant value. If
appropriate for the parameter, enter switch characters such as '/t', which is
typical for command scripts.
e. To bind the parameter to another property so that the parameter obtains its
value from that property, select the corresponding ellipsis button (...). In the
Bind 'Parameter' to Activity Property dialog, select the property that you want
to use.

f. If you're working with a script that requires Windows PowerShell snap-ins in


order to run, in the Windows PowerShell snap-ins box, enter the names of the
snap-ins, separated by semicolons.

g. Select OK to close the Configure a Script Activity dialog.

Add a control flow activity to a workflow


Use control flow activities to provide structure—branches, loops, or timer delays—for
your workflow. The Service Manager Authoring Tool provides four built-in control flow
activities:

Delay Activity - Introduces a delay between the activities in a workflow.

For Each Loop Activity - Takes as an input an array (collection) of objects, and
repeats the set of activities in the For Each Loop object in the collection.

IfElse Activity - Controls the sequence of activities in a workflow based on a


Boolean (True/False) condition.

Parallel Activity - Forks the sequence of activities into two simultaneous sequences
of activities.

To use a Delay activity, just drag the Delay activity into the workflow, and then set the
activity's TimeoutDuration property to the delay interval you want to use. To use an
IfElse or Parallel activity, drag the activity into the workflow, and then drop regular
activities into the IfElse or Parallel activity.

Using a For Each Loop activity resembles using an IfElse or Parallel activity; however,
you might want to set additional properties for the activities in the For Each Loop. Use
the following procedure to add a For Each Loop to a workflow.

To add for each loop to a workflow


1. In the Management Pack Explorer, expand Workflows, right-click the workflow
you want, and select Edit. This opens the workflow in the authoring pane.

2. In the Activities Toolbox pane, locate the activity group Control Flow.
3. Drag the For Each Loop activity to a position between the Workflow Start and
Workflow End icons or between two existing activities.

4. Add the activities for which you want to loop the execution to the Loop
Container(ForEachChildActivity). To add each activity:

a. In the Activities Toolbox pane, expand the activity group that contains the
activity that you want to use.

b. Drag the activity to a position to the top of the Loop Container activity. If the
Loop Container activity already contains other activities, drag the new activity
to a position before, after, or between the existing activities.

c. Most workflow activities that you place in this container have two additional
properties: Current Item and Property to Bind. For each activity within the loop
container, set these properties as follows:

7 Note

Setting the properties isn't mandatory, and it's useful only if you want to
take the object from the Input Collection of the Loop Container.

i. Set Current Item to the Current Item property of the Loop Container activity
of the ForEach activity.

7 Note

If this activity is the first activity in the For Each Loop, Current Item is set
automatically.

ii. Set the value of the Property to Bind property to the value of the property of
the current activity that will use the Current Item value.

Remove an activity from a workflow


Use this procedure to remove an activity from a workflow in the Service Manager
Authoring Tool. This operation doesn't remove the activity from the Activity Library or
from the Activities Toolbox pane.

To remove an activity from a workflow


In the authoring pane, right-click the activity, and select Delete.

Next steps
Configure the way activities manage and pass information.
Configure the way activities manage
and pass information in Service
Manager authoring
Article • 09/26/2023

The activity properties provide ways to transfer data. For the Woodgrove Bank
customization scenario, the name of the computer and the name of the group must be
transferred from the automated provisioning activity to the workflow activity that does
the actual work. The following illustration shows how the computer and group names
pass from the Service Manager automated activity to the Windows Workflow
Foundation (WF) activities in the workflow.

You can use the following steps to configure properties to pass the values:

How to Set an Activity Property to a Constant Value - Sets the Active Directory
Server property of the Add AD DS Computer To Group activity to a constant
value.

How to Set an Activity Property to Use a Value from the Trigger Class - Associates
the ComputerName and GroupName properties defined previously with the
Computer name and Group name properties of the Add AD DS Computer To
Group activity.

For larger, more complex workflows, you've an additional option. To pass values from
one activity to another, complete the steps in How to Set an Activity Property to Use a
Value from Another Activity.

Set an activity property to a constant value


In the Woodgrove Bank customization scenario, Ken uses this procedure to set the
Active Directory name property of the Add AD DS Computer to Group activity.

Use this procedure in the Service Manager Authoring Tool to set a property to a
constant value (also referred to as a literal value). This value applies anytime this
workflow starts.

To set an activity property to a constant value


1. In the authoring pane, select the activity you want. The Details pane becomes
active, and it displays the properties for this activity.

For example, in the AddComputertoADGroupWF workflow, select the Add AD DS


Computer to Group activity.

2. In the Details pane, select the property you want to set, and in the text box, enter a
value.

For example, for the Add AD DS Computer to Group activity, select Computer
Domain name, and in the text box, enter woodgrove.com.

Set an activity property to use a value from


another activity
Use this procedure in the Service Manager Authoring Tool to configure an activity to
obtain its property values from another activity in the workflow. This process is referred
to as "binding" one property to another.

To set an activity property to use a value from another


activity
1. In the authoring pane, select the activity you want. The Details pane becomes
active, and it displays the properties for this activity.

2. Select the property you want to set, and select the ellipsis button (...) that appears
for that property.

3. In the list of activities in the dialog, expand the activity you want, and then select
the property you want to use.

4. Select OK to close the dialog.

Set an activity property to use a value from the


trigger class
Use this procedure in the Service Manager Authoring Tool to set a property to retrieve
its value from the Service Manager class used to trigger the workflow. You can't use this
method with a workflow that has a Timer trigger.

In the Woodgrove Bank customization scenario, Ken uses this procedure to set the
Computer Name and Group Name properties of the Add AD DS Computer to Group
activity to retrieve the values of the Automated Activity: Add Computer To AD Group
properties Computer Name, Group Name, and Activity ID from the change request.

To configure activity properties to retrieve data from a


trigger class
1. In the authoring pane, select the activity you want. The Details pane becomes
active and displays the properties for this activity. For example, select the Add AD
DS Computer to Group activity or the Set Activity Status to Completed activity.

2. In the Details pane, select the property you want to set, and select the ellipsis
button (...) that appears next to the property.

For example, for the Add AD DS Computer to Group activity, select Group Name,
and select the ellipsis button (...).

3. On the left side of the Define input for the activity addADDSComputerToGroup1
dialog, select Use a class property. Selecting this option produces a list of the
properties that are available in the trigger class.

4. Select the class property that you want to use for this activity property.

For example, for the Add AD DS Computer to Group activity, do the following:
a. In the Details pane for the Add AD DS Computer to Group activity, select
Group Name, select the ellipsis button (...), select Use a class property, select
GroupName, and select OK.

b. In the Details pane, select Computer Name, select the ellipsis button (...), select
Use a class property, select ComputerName, and select OK.

For the Set Activity Status to Completed activity, select Activity ID, and select
the ellipsis button (...) that appears next to the property. In the Define input for
the activity setActivityStatusToCompleted1 dialog, select Use a class property,
and then in the property list, select ID (Internal). Select OK.

Next steps
Deploy a workflow to Service Manager using the Authoring Tool.
Deploy a workflow to Service Manager
using the Service Manager Authoring
Tool
Article • 03/28/2023

Use these procedures to move workflows from the Service Manager Authoring Tool to
the Service Manager console. First, you must physically move the workflow assembly file
and the management pack file that contains the workflow information. Then, you must
import the management pack into Service Manager.

Move the management pack and workflow files


1. On the computer that is running the Authoring Tool, browse to the folder where
you saved the management pack, and then copy the management pack and
workflow files. The workflow file is automatically created in the same folder as the
management pack. For example, copy AddComputerToADGroupMP.xml and
AddComputerToADGroupWF.dll.

2. On the computer that is running the Service Manager console, browse to the
Service Manager installation folder, for example, C:\Program Files\Microsoft
System Center\Service Manager.

3. Paste the copied management pack and workflow files into this folder. For
example, paste AddComputerToADGroupMP.xml and
AddComputerToADGroupWF.dll.

7 Note

You can move the management pack file to a different folder before you
import it into the Service Manager console. However, you must place the
workflow assembly file in the Service Manager installation folder.

Import the management pack into Service


Manager
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Management
Packs.

3. In the Tasks pane, under Management Packs, select Import Management Pack.

4. In the Select Management Packs to Import dialog, select the management pack
file that is associated with the workflow, and select Open. For example, select
AddComputerToADGroupMP.xml.

5. In the Import Management Packs dialog, select Add to add the management pack
that you want to import.

6. Select Import, and select OK.

Next steps
Configure the Activities Toolbox in the Authoring Tool.
Configure the Activities Toolbox in the
Service Manager Authoring Tool
Article • 03/15/2023

There are two ways to configure the Activities Toolbox in the Service Manager Authoring
Tool:

Modify the default toolbox by adding or removing custom activities. These


changes require administrative-level permissions, and they're visible to all the
users of the Authoring Tool.
Personalize the toolbox. These changes don't require special permissions. Changes
made by one user affect that user only.

Modify the default toolbox


If the default set of Windows Workflow Foundation (WF) activities doesn't meet the
needs of your organization, you can use custom activities with the Service Manager
Authoring Tool. Custom activities include activities you or your organization develop or
activities that non-Microsoft parties develop. These activities must be compiled into
assembly files (activitysetname.dll). For information about developing WF activities, see
the Workflow Activity Reference.

Installing or removing custom activity assemblies changes the set of available activities
for all the Authoring Tool users. When you install or remove an activity assembly,
remember to notify Authoring Tool users of the changes. Custom activities don't appear
automatically in the Activities Toolbox; in order to use custom activities, users must add
them to personalized activity groups.

Install a custom activity assembly


The activity assembly files must first be installed so that you can use custom or third-
party Windows Workflow Foundation (WF) activities in workflows. You must have
administrative permissions on the computer running the Service Manager Authoring
Tool and the computer running Service Manager. Like the default activities, custom
activities must be available on the computer running Service Manager and on the
computer running the Authoring Tool.

1. On the computer running the Authoring Tool, browse to the Authoring Tool
Workflow Activity Library folder; for example, D:Program Files (x86)Microsoft
System CenterService Manager <version> AuthoringWorkflow Activity Library.
Paste the custom activity assembly into this folder.

2. On the computer running Service Manager, browse to the Service Manager


installation folder, and then paste the custom activity assembly into this folder.

3. After you've installed the custom activity assembly, notify the Authoring Tool users
that they can now add the custom activities to personalized activity groups by
using the following procedures:

7 Note

Users can only add custom activities to personalized activity groups; they
can't add custom activities to the default activity groups.

Remove a custom activity assembly


To remove a custom activity assembly, you must have administrative permissions on the
computer running the Service Manager Authoring Tool and on the computer running
the Service Manager console. After the custom activity assembly has been removed, the
activities compiled into that assembly are no longer available in personalized activity
groups.

1. On the computer running the Authoring Tool, browse to the Authoring Tool
Workflow Activity Library folder; for example, D:Program Files (x86)Microsoft
System CenterService Manager <version> AuthoringWorkflow Activity Library.
Remove the custom activity assembly from this folder.

2. On the computer running the Service Manager console, browse to the Service
Manager installation folder. Remove the custom activity assembly from this folder.

3. After you've removed the custom activity assembly, notify the Authoring Tool users
that the custom activities are no longer available.

Personalize the activities toolbox


Use the procedures in this section to personalize the Activities Toolbox pane in the
Service Manager Authoring Tool. Each user can personalize the Activities Toolbox
differently; the Authoring Tool stores this information as part of each user's profile.

) Important
You can only modify personalized activity groups. You can't modify the default
activity groups.

Use these procedures to create activity groups in the Activities Toolbox pane in the
Service Manager Authoring Tool.

Create a top-level activity group


1. In the Activities Toolbox pane, right-click Activity Groups, and select New Group.

2. Enter a name for the new group.

Create an activity subgroup


1. In the Activities Toolbox pane, right-click the parent group, and select New Group.

2. Enter a name for the new group.

Rename a personalized activity group


Use this procedure to change the name of a personalized activity group in the Service
Manager Authoring Tool.

) Important

You can only rename personalized activity groups. You can't change the names of
the default activity groups.

1. In the Activities Toolbox pane, right-click the group, and select Rename Group.

2. Enter a new name for the group.

Add activities to a personalized activity group


Use this procedure to add activities to a personalized activity group in the Service
Manager Authoring Tool. Activities can belong to more than one group; for example,
you can create a Favorites group and populate it with both default activities and custom
activities that already belong to other groups.

) Important
You can only add activities to personalized activity groups. You can't add activities
to the default activity groups.

If you want to use custom activities in workflows, you must add them to a group in
order to make them available in the Activities Toolbox pane. Before you can add custom
activities to groups, an administrator must install the appropriate activity assembly files
on the computer running the Authoring Tool.

1. In the Activities Toolbox pane, right-click the group, and select Choose Activities.

2. In the Choose Activities for a Group dialog, scroll the list to find the activities you
want to add. Select the checkboxes for the activities you want to add.

3. If you want to use custom activities that don't appear in the list, select Add
Custom Activities. In the Select Custom Activity Assembly dialog, select the
custom activity assembly file, and select Open. This adds the custom activities from
this assembly file to the activity list.

4. After you've selected all the activities for the group, select OK.

Remove activities from a personalized activity group


Use this procedure to remove activities from a personalized activity group in the Service
Manager Authoring Tool. Removing an activity from a group doesn't remove the activity
from the Activity Library or from any other group.

) Important

You can only remove activities from personalized activity groups. You can't remove
activities from the default activity groups.

1. In the Activities Toolbox pane, right-click the group, and select Choose Activities.

2. In the Choose Activities for a Group dialog, scroll the list to find the activities you
want to remove. Clear the checkboxes for the activities you want to remove, and
select OK.

Delete a personalized activity group


Use this procedure to delete an activity group in the Service Manager Authoring Tool. If
the activity group contains one or more subgroups, the subgroups will also be deleted.
Deleting an activity group doesn't remove its member activities from the Activity Library
or from any other groups.

) Important

You can only delete personalized activity groups. You can't delete the default
activity groups.

In the Activities Toolbox pane, right-click the group, and select Delete Group.

Next steps
Review the Guidelines for creating custom activities in the Authoring Tool.
Guidelines for creating custom activities
in the Service Manager Authoring Tool
Article • 09/26/2023

Service Manager automates various information technology (IT) processes. For the
Incident Management process, for example, Service Manager includes various
automated steps, such as automated notifications to users when incidents are created or
resolved and automatic routing of incidents to various queues, based on categorization.
This automation is implemented by using workflows that are defined for the various
solutions, and it uses Windows Workflow Foundation (WF) capabilities to describe,
execute, and track the automated operations.

Customers and partners can extend the included automation by defining new workflows
and adding them into a process. Workflows can be set to occur on a fixed schedule or
on a specified condition occurring in the database, for example, when an incident is
created or when it changes to a specified state, such as Active or Resolved.

The Service Manager Authoring Tool provides an easy-to-use method of creating new
workflows. It provides a library of different workflow activities, such as creating an
incident or updating an incident, and a drag-and-drop graphical designer that you can
use to arrange these workflow activities into a workflow sequence. The Authoring Tool
then compiles the new workflow into a set of definitions, code, and management pack
content. When this information is imported into Service Manager, it integrates the new
workflow into the specified solution.

Understanding what's going on behind the scenes of the Authoring Tool can benefit
more advanced users. First, customers and partners can use this information to extend
the workflow activity library in Service Manager with workflow activities that apply to
their specific processes. Secondly, developers can use this information to build custom
or advanced workflows that are compatible with Service Manager by using their
development tool of choice, such as the Microsoft Visual Studio development system.

Workflow activities and the


WorkflowActivityBase class
Service Manager workflows use WF activities. To work smoothly with the Authoring Tool,
these activities derive from the base class WorkflowActivityBase, which belongs to the
Microsoft.EnterpriseManagement.Workflow.Common namespace. The
WorkflowActivityBase base class introduces properties and methods that aren't
available in the generic Activity base class for WF activities. For more information about
how to define WF activities by using the generic Activity base class, see Activity Class.

Benefits of using the WorkflowActivityBase class


Users can import WF activities from the Visual Studio activity library, and they can work
with those activities in the Authoring Tool Authoring pane. However, those activities
behave in the same way as they do in the Visual Studio Design environment. They don't
have the customizations that are built into the Service Manager activity library.

7 Note

Not all Visual Studio WF activities have been tested for compatibility with the
Authoring Tool, and some Visual Studio WF activities might not run correctly in the
Authoring Tool.

The following table lists the differences in behavior between WF activities that are based
on the WorkflowActivityBase base class and WF activities that are based on the generic
Activity base class.

Scenario Authoring Tool WF activity Visual Studio WF


(WorkflowActivityBase base class) activity (Activity base
class)

User binds activity Calls the Bind property to dialog that is Calls the Bind property
properties (to Service customized for Service Manager users. to dialog that is intended
Manager object for developers.
properties or to
properties from other
activities).

User adds the activity Adds the properties Propertytobind (the Behaves in the same way
to a For-Each Loop loop index) and CurrentItem, which are for each iteration of the
activity. required to take part in loop-specific loop, and doesn't interact
operations (CurrentItem is an internal with the property that
property). indexes the loop.

) Important

Because of the customizations that are required for the Authoring Tool workflow
designer, activities that are based on the WorkFlowActivityBase class don't
function as expected in the Visual Studio workflow design environment.
Users can build custom WF activities in Visual Studio for use in the Authoring Tool.
However, to take advantage of the custom design-time behavior of the Authoring Tool,
custom activities must be based on the WorkflowActivityBase class instead of the
Activity class.

Workflow activities and Service Manager


automated activities
WF activities can interact with a different type of activity, the Service Manager activities
that are used by Service Manager work items. Work items are one of the main types of
objects that Service Manager uses. Work items track units of work, such as Incidents,
Service Requests, Change Requests, and other units of work. Most work items comprise
one or more Service Manager activities. For example, a Change Request typically
includes at least two activities: a Review activity and a Change Execution activity. The
work item typically executes these activities in order.

When a work item is created, the first Service Manager activity becomes active and
remains active while Service Manager (or the user) carries out whatever work the activity
represents. When that work finishes, Service Manager marks the first activity as
Completed and activates the next activity in the sequence. When the final activity in the
sequence is marked as Completed, Service Manager marks the entire work item as
Completed.

Some Service Manager activities can be executed manually, such as the Review activity
of a Change Request. Other Service Manager activities can be automated, such as an
activity that sends an email to a user. The Change Execution activity of a Change
Request can be automated. Service Manager uses WF workflows to automate Service
Manager activities.

Example: The Set Activity Status to Completed


activity
This example of a WF workflow activity in Service Manager uses the Set Activity Status
to Completed WF activity. This WF activity typically represents the last step in a
workflow that implements an automated Service Manager activity, and it sets the status
of that activity to Completed. Setting this status triggers the system to move to the next
activity in the work item, and this process repeats until the last activity in the work item
is completed.
The Set Activity Status to Completed activity takes one input, Activity ID, which
identifies the Service Manager activity on which to act. The WF activity then connects to
the Service Manager management server, retrieves the specified Service Manager
activity from the database, sets its status to Completed, and then saves it back to the
database. Most of the code samples that are included in this example come from the
SetActivityStatusToCompleted.cs file, an underlying file that describes the Set Activity
Status to Completed activity.

Initialize the example WF activity


The first section of the SetActivityStatusToCompleted.cs file contains the declaration and
initialization statements. This activity is based on the WorkflowActivityBase class, and it
uses the validator class SetActivityStatusToCompletedValidator and the designer class
WorkflowActivityBaseDesigner.

The WorkflowActivityBaseDesigner class contains the customizations that are described


in the previous section, Benefits of Using the WorkflowActivityBase Class. You can
further extend and customize this class.

The first section of the activity definition for this example activity includes the following
code:

C#

namespace Microsoft.ServiceManager.WorkflowAuthoring.ActivityLibrary
{
// ---------------------------------------------------------------------
/// <summary>
/// Activity to set an activity's status to complete
/// </summary>
// ---------------------------------------------------------------------
[ToolboxItem(typeof(ActivityToolboxItem))]

[ActivityValidator(typeof(Validators.SetActivityStatusToCompletedValidator))
]
[Designer(typeof(WorkflowActivityBaseDesigner))]
public sealed partial class SetActivityStatusToCompleted :
WorkflowActivityBase
{

Input properties for the example WF activity


The code declares one property, ActivityId, as a dependency property. This means that
this property can be bound to parameters that are defined at the workflow level. In this
case, the ID of the Service Manager activity is passed in to the workflow as a workflow
parameter, and it flows into this activity as an input.

C#

// -----------------------------------------------------------------------
---------
/// <summary>
/// Dependency Property for ActivityId property
/// </summary>
// -----------------------------------------------------------------------
---------
public static DependencyProperty ActivityIdProperty =
DependencyProperty.Register("ActivityId", typeof(String),
typeof(SetActivityStatusToCompleted));

// -----------------------------------------------------------------------
---------
/// <summary>
/// Activity ID
/// </summary>
// -----------------------------------------------------------------------
---------
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public string ActivityId
{
get
{
return (string)this.GetValue(ActivityIdProperty);
}
set
{
this.SetValue(ActivityIdProperty, value);
}
}

Execution behavior in the example WF activity


The Execute method does the actual work of this WF activity. Within the scope of the
Execute method, the WF activity does the following:

Detects whether it's operating within a For-Each Loop activity, and, if so, sets the
appropriate WF activity properties.

Connects to the specified Service Manager management server and creates an


EnterpriseManagementGroup object.
Uses the ActivityId property to get the identified Service Manager activity from the
database.

Finds the class definition of the Service Manager activity, gets the Status property
of the retrieved Service Manager activity, and sets the property to the Completed
enumeration list value.

Commits the changes to the Service Manager activity.

Uses the TrackData method (part of the WF infrastructure) to log tracking


information about the execution and status of the WF activity.

C#

// -----------------------------------------------------------------
---------------
/// <summary>
/// The execute method will have the implementation to set the
activity status to complete.
/// </summary>
// -----------------------------------------------------------------
---------------
protected override ActivityExecutionStatus
Execute(ActivityExecutionContext executionContext)
{
try
{
// Initialize the current item if the activity contained
within the For-Each loop
base.Execute(executionContext);

// Validate Parameters
if (String.IsNullOrEmpty(ActivityId))
{
throw new ArgumentNullException("ActivityId");
}

string SMServer = "localhost";

Guid TaskGuid = new Guid(ActivityId);


EnterpriseManagementGroup _mg = new
EnterpriseManagementGroup(SMServer);

EnterpriseManagementObject Activity =
_mg.EntityObjects.GetObject
<EnterpriseManagementObject>(TaskGuid,
ObjectQueryOptions.Default);

ManagementPack SystemMP =
_mg.ManagementPacks.GetManagementPack(
SystemManagementPack.System);
ManagementPack ActivityMP =
_mg.ManagementPacks.GetManagementPack(
Resources.ActivityManagementMP, SystemMP.KeyToken,
SystemMP.Version);

ManagementPackClass activityClass =
_mg.EntityTypes.GetClass(
Resources.WorkItemActivityClass, ActivityMP);

ManagementPackProperty status =
activityClass.PropertyCollection["Status"];
ManagementPackEnumeration Completed =

_mg.EntityTypes.GetEnumeration("ActivityStatusEnum.Completed", ActivityMP);

Activity[status].Value = Completed;
Activity.Commit();
}
catch (ArgumentNullException argNullException)
{
// Log to Tracking Service
TrackData(argNullException.ToString());

throw;
}
catch (EnterpriseManagementException mgmtException)
{
TrackData(mgmtException.ToString());
throw;
}

return ActivityExecutionStatus.Closed;
}
}
}

Validation behavior in the example WF activity


The SetActivityStatusToCompletedValidator.cs file defines the validation behavior of the
WF activity. This behavior defines how the designer indicates whether this WF activity is
fully defined or if it still requires one or more inputs to be defined. The Authoring Tool
indicates a validation error similarly to Visual Studio by using a red exclamation point (!)
icon on the workflow activity in the Authoring pane.

C#

namespace
Microsoft.ServiceManager.WorkflowAuthoring.ActivityLibrary.Validators
{
// ---------------------------------------------------------------------
-----------
/// <summary>
/// Validator for the SetActivityStatusToCompleted activity
/// </summary>
// ---------------------------------------------------------------------
-----------
internal class SetActivityStatusToCompletedValidator : ActivityValidator
{
// -----------------------------------------------------------------
---------------
/// <summary>
/// Validator for the SetActivityStatusToCompleted activity
/// </summary>
// -----------------------------------------------------------------
---------------
public override ValidationErrorCollection Validate(ValidationManager
manager, object obj)
{
// Performing default validation
ValidationErrorCollection errorColl = base.Validate(manager,
obj);

SetActivityStatusToCompleted setActivityStatusToCompletedObj =
(SetActivityStatusToCompleted)obj;

// Check if validation is happening during compilation of


activity and
// not during the hosting of an activity
if (setActivityStatusToCompletedObj.Parent == null)
{
return errorColl;
}

string propertyName =
Common.GetPropertyName(setActivityStatusToCompletedObj);

// Add validation error if ActivityId is null or empty


if (setActivityStatusToCompletedObj.ActivityId == null
&&

setActivityStatusToCompletedObj.GetBinding(SetActivityStatusToCompleted.Acti
vityIdProperty) == null
&&
String.Compare(propertyName, "ActivityId", false,
CultureInfo.InvariantCulture) != 0)
{
errorColl.Add(new ValidationError(

Resources.SetActivityStatusToCompleted_ActivityId_DesignTimeValidation, 10,
false));
}

return errorColl;
}
}
}
Use the example WF activity in a workflow
The Set Activity Status to Completed activity is included in the Authoring Tool default
Activities Toolbox pane. For more information about adding custom activities to the
Activities Toolbox pane, see How to Install a Custom Activity Assembly.

You can use the authoring pane of the Authoring Tool to author workflows in a manner
that is similar to using the Visual Studio workflow design interface. However, the
Authoring Tool offers the following benefits:

Users without development skills can build workflows; they don't have to work with
code directly.

When a user saves a workflow in the Authoring Tool, the tool generates the
corresponding Visual C# and XOML code and compiles it into a .dll file. The tool
also integrates the workflow with a management pack that can interact directly
with Service Manager.

Visual C# Code for the workflow


The following sample shows the Visual C# code that the Authoring Tool generates for an
example workflow that uses the Set Activity Status to Completed activity. This code
declares a simple sequential workflow, SetActivityStatusToCompleteWF that has one
workflow parameter, the dependency property ActivityId. The value of ActivityID is
determined by the management pack definitions that are shown later in this example.
When the workflow runs, Service Manager identifies the value and passes it into the
workflow.

C#

namespace WorkflowAuthoring
{
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel.Design;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.ComponentModel.Compiler;
using System.Drawing;
using System.Collections;
using System.Workflow.Activities;
using System.Workflow.Runtime;
public partial class SetActivityStatusToCompleteWF :
System.Workflow.Activities.SequentialWorkflowActivity
{

public static DependencyProperty ActivityIdProperty =


DependencyProperty.Register("ActivityId", typeof(string),
typeof(SetActivityStatusToCompleteWF));

[System.ComponentModel.DesignerSerializationVisibilityAttribute(DesignerSeri
alizationVisibility.Visible)]
[System.ComponentModel.BrowsableAttribute(true)]
[System.ComponentModel.CategoryAttribute("Misc")]
public string ActivityId
{
get
{
return ((string)(this.GetValue(ActivityIdProperty)));
}
set
{
this.SetValue(ActivityIdProperty, value);
}
}
}
}

XOML code for the workflow


WF uses the XOML format for some of the workflow definitions. For the example
workflow, the Authoring Tool creates the file SetActivityStatusToCompleteWF.xoml with
the following content:

XML

<SequentialWorkflowActivity
x:Class="WorkflowAuthoring.SetActivityStatusToCompleteWF"
x:Name="SetActivityStatusToCompleteWF" xmlns:ns0="clr-
namespace:Microsoft.ServiceManager.WorkflowAuthoring.ActivityLibrary;Assembl
y=Microsoft.ServiceManager.WorkflowAuthoring.ActivityLibrary,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/workflow">
<ns0:SetActivityStatusToCompleted ActivityId="{ActivityBind
SetActivityStatusToCompleteWF,Path=ActivityId}"
x:Name="setActivityStatusToCompleted1" PropertyToBind="{x:Null}" />
</SequentialWorkflowActivity>
SetActivityStatusToCompleteWF.xoml declares that the workflow,
SetActivityStatusToCompleteWF, runs one workflow activity, Set Activity Status To
Completed. That activity has one input parameter, ActivityId, which gets its value from
the ActivityId property of the workflow.

Declare the workflow and its trigger condition


in a management pack
Service Manager can't use an isolated workflow .dll file; the workflow must be integrated
with a management pack. The management pack defines when the workflow should run
and what input values to use. At the same time that it generates the workflow code and
compiles the workflow .dll file, the Authoring Tool adds the workflow-related
information to a management pack.

The example workflow, SetActivityStatusToCompleteWF, is associated with an example


management pack, named
Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml. This management pack
extends the Change Management process with a new automated Service Manager
activity. When the new activity becomes active during a change management operation,
it triggers the SetActivityStatusToCompleteWF workflow.

The management pack defines the trigger of the workflow (when the new Service
Manager activity changes state), and it defines the value to use for the ActivityId
property (the unique identifier of the new Service Manager activity). When the workflow
runs, it changes the status of the new Service Manager activity to Completed. Note that
in a normal workflow, this would be the last step following some other task that is
performed by other WF activities in the workflow.

The Monitoring section of the management pack contains the Rule definition for the
workflow. In turn, the Rule definition has two parts, the DataSource element and the
WriteAction element.

For the example workflow, the DataSource element contains a Subscription element,
which specifies that the workflow should run when an instance of the
AddComputerToGroup class (a custom Service Manager class) changes state to Active.

XML

<Monitoring>
<Rules>
<Rule ID="SetActivityToCompleteRule" Enabled="true"
Target="SystemCenterLibrary!Microsoft.SystemCenter.SubscriptionWorkflowTarge
t" ConfirmDelivery="false" Remotable="true" Priority="Normal"
DiscardLevel="100">
<Category>Notification</Category>
<DataSources>
<DataSource ID="DS"
TypeID="Subscriptions!Microsoft.SystemCenter.CmdbInstanceSubscription.DataSo
urceModule">
<Subscription>
<InstanceSubscription
Type="$MPElement[Name='AddComputerToGroup']$">
<UpdateInstance><Criteria><Expression>
<SimpleExpression>
<ValueExpression>
<Property
State="Post">$Context/Property[Type='Activity!System.WorkItem.Activity']/Sta
tus$</Property>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>

<Value>$MPElement[Name='Activity!ActivityStatusEnum.Active']$</Value>
</ValueExpression>
</SimpleExpression></Expression></Criteria>
</UpdateInstance>
</InstanceSubscription>
<StartWatermark>1</StartWatermark>

<PollingIntervalInSeconds>60</PollingIntervalInSeconds>
<BatchSize>100</BatchSize>
</Subscription>
</DataSource>
</DataSources>
</Rule>
</Rules>
</Monitoring>

The WriteAction element (specifically,


Microsoft.EnterpriseManagement.SystemCenter.Subscription.WindowsWorkflowTask
WriteAction) defines what to do when the trigger condition is met. Within this element,
a Subscription element identifies the workflow assembly file to run
(SetActivityStatusToCompleteWF.dll) and the class in the assembly that represents the
workflow, WorkflowTypeName.

The Subscription element also includes a WorkflowParameter element, which defines


the ActivityId property and, using the syntax $Data/BaseManagedEntityId$, binds it to
the unique identifier of the Service Manager activity that is recorded in the DataSource
element.

The WriteAction element also stores optional configuration details for the workflow,
such as how many retries to perform if the workflow fails, how frequently to retry, and
the maximum time in seconds that a workflow should run before it's shut off.
XML

<WriteActions>
<WriteAction ID="WA"
TypeID="Subscriptions!Microsoft.EnterpriseManagement.SystemCenter.Subscripti
on.WindowsWorkflowTaskWriteAction">
<Subscription>
<WindowsWorkflowConfiguration>
<AssemblyName>SetActivityStatusToCompleteWF</AssemblyName>

<WorkflowTypeName>WorkflowAuthoring.SetActivityStatusToCompleteWF</WorkflowT
ypeName>
<WorkflowParameters>
<WorkflowParameter Name="ActivityId" Type="string">
$Data/BaseManagedEntityId$
</WorkflowParameter>
</WorkflowParameters>
<RetryExceptions></RetryExceptions>
<RetryDelaySeconds>60</RetryDelaySeconds>
<MaximumRunningTimeSeconds>300</MaximumRunningTimeSeconds>
</WindowsWorkflowConfiguration>
</Subscription>
</WriteAction>
</WriteActions>

Import the management pack


For the workflow to run on a particular Service Manager management server, all the files
that are related to the workflow must reside on that server. These files include the
following:

The WF activity assembly files. If you're using only the Service Manager WF
activities, by default, the appropriate files are installed. If you're using custom
activities, see How to Install a Custom Activity Assembly.

The workflow assembly file, in this case, SetActivityStatusToCompleteWF.dll. You


must manually copy this file to the Service Manager management server.

The management pack file, in this case,


Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml. You must manually
copy this file to the Service Manager management server.

When all the files are in place, import the management pack into Service Manager. You
can do this by using the mpimport.exe command-line tool or the Service Manager
console. After you've imported the management pack, the workflow is ready to run
whenever the condition that is defined as its trigger is met.
Next steps
Set an activity's status to completed for the Service Manager Authoring Tool
sample activity.
Woodgrove Bank customization sample
scenario for the Service Manager Authoring
Tool
Article • 04/03/2023

To provide real-world context to the step-by-step procedures for the Service Manager Authoring
Tool, we've created a fictitious scenario that takes place at a fictitious company, Woodgrove Bank.

The Woodgrove Bank customization scenario illustrates how Ken Myer, a server application
developer for Woodgrove Bank, can easily extend the default change management process to
support a new compliance change request process that the organization needs. The new compliance
change request process will automatically add new computers to groups in Active Directory Domain
Services (AD DS) so that the group software policies apply to the new computers.

7 Note

Some procedures in the Woodgrove Bank customization scenario rely on standard usage of the
Service Manager console in Service Manager. This guide doesn't provide details for these
common procedures.

Although there are many steps in extending the change management process, Ken has to think
about four main things, which are described in the following sections.

Create new custom activity


A standard change request consists of two activities: a default review activity and a default manual
activity. In the new compliance change request process, Ken will perform the default review activity
first, but the second activity is customized. Ken will create a new custom change request activity that
uses a Windows Workflow Foundation (WF) workflow to automatically add a computer to an Active
Directory group. Automating this change request process means that after the change is approved,
the change will be completed without further user interaction. The custom activity is at the core of
the new compliance change request process.

Create additional custom objects


Additionally, Ken will create new custom objects, such as a template, a queue, and a view, to support
working with the new type of activity. If email notifications are configured in the environment, in the
final steps of the scenario, Ken can configure email notifications to send confirmation email
messages after the activity is complete.

Save custom objects in a management pack


Ken saves the custom objects to the Automated Activity: Add Computer to AD Group management
pack so that they can transfer these objects between the Service Manager console and the Service
Manager Authoring Tool.

Use the customized process


Eventually, after Ken imports the custom management pack into Service Manager and completes the
creation of all the necessary custom objects. They can use the new process for compliance change
requests. They create a new compliance change request to add ADComputer1 computer to the
GP_AUTHAPPS AD DS group. They can then monitor the process to confirm that the new computer
is successfully added to the group.

Prerequisites for the customization scenario


The Woodgrove Bank customization scenario has the following prerequisites:

System Center - Service Manager must be installed in your environment.


The System Center - Service Manager Authoring Tool must be installed in your environment.
The Workflow Account in Service Manager must be a member of the Domain Administrators
group because this scenario involves creating a workflow that adds a computer to a group in
Active Directory Domain Services (AD DS). You specify the Workflow Account in the Service
Manager Server Setup Wizard.

The Authoring Tool's installation folder includes a Samples subfolder that contains the following
files, which are required for the Woodgrove Bank customization scenario.

File Description

Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml A management pack that contains class


definitions that are used in the Woodgrove
Bank customization sample scenario.

AddComputerToGroupFormAssembly.dll The implementation of an automated activity


form that is used in the Woodgrove Bank
customization sample scenario.

Woodgrovebank.jpg An image that is used for form customization in


the Woodgrove Bank customization sample
scenario.

New-mpbfile.ps1 A Windows PowerShell script that is used to


bundle a management pack with its associated
resource files into an .mpb file that can then be
imported into Service Manager. Resource files
can include items such as images and forms.

Step 1 - Open the management pack


The primary goal of the Woodgrove Bank customization scenario is to create a new custom activity
that triggers a Windows Workflow Foundation (WF) workflow that automatically adds a computer to
a group in Active Directory Domain Services (AD DS).

To create this new activity, in this step of the scenario, Ken must extend the Service Manager class
library by adding a new activity class that is derived from the base Activity class. This custom class
includes all the properties of the base activity class and two new properties—ComputerName and
GroupName. These new properties identify the computer you're adding and the Active Directory
group to which you're adding the computer. Ken also needs to define the
System.AddComputerForm form that will represent the new Automated Activity: Add Computer to
AD Group activity.

The necessary class activity and its associated form are already defined in the
Woodgrove.AutomatedActivity.AddComputerToADGroupMP management pack. Therefore, to start
the Woodgrove Bank customization scenario, Ken opens the
Woodgrove.AutomatedActivity.AddComputerToADGroupMP management pack in the Service
Manager Authoring Tool. Then, Ken explores the Automated Activity: Add Computer to AD Group
class in the Class Browser pane.

Ken uses the Authoring Tool to complete the following procedure to open the
Woodgrove.AutomatedActivity.AddComputerToADGroupMP management pack that defines the
Automated Activity: Add Computer to AD Group activity and its associated form.

Open the management pack


1. Start the Authoring Tool.
2. Select File, point to Open, and select File.
3. In the Open File dialog, select the
Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml file to open the management
pack.

Explore the Automated Activity: Add Computer to AD Group class


1. In the Authoring Tool, if the Class Browser isn't visible, select View, and select Class Browser.
2. Locate and expand the Automated Activity: Add Computer to AD Group class, and then view
the class properties, such as ComputerName and GroupName.

Step 2 - Customize the default change request form


The second step in the Woodgrove Bank customization scenario is to customize the default Change
Request form, which is
Microsoft.EnterpriseManagement.ServiceManager.ChangeManagement.Forms.ChangeRequestForm.
Ken wants to rearrange some fields on the form and then add the Woodgrove Bank logo. Before Ken
starts, they view the fields in the form to see how the values change according to the properties that
are selected.
Next, Ken opens the ServiceManager.ChangeManagement.Library.mp management pack file in the
Service Manager Authoring Tool, they customize the form, and then save the management pack file.
Later, they must import the customized management pack into the Service Manager console.

View the System.AddComputerForm form


1. In the Authoring Tool, expand Forms in the Management Pack Explorer pane. Right-click the
System.AddComputerForm form, and select Customize to open the form in the authoring
pane.
2. In the authoring pane, ensure that the Details pane is visible. If it isn't visible, select View, and
select Details Window.
3. Select a field on the form. Note that the properties in the Details pane are updated according
to the class property that is bound to the field that you selected. Note the Binding Path entry
in the Details pane. This entry indicates the property that the field in the form represents.

Customize the default Change Request form


1. In the Authoring Tool, select File, point to Open, and select File. In the Open File dialog, locate
the ServiceManager.ChangeManagement.Library.mp management pack. For example, the
path to the management pack might be as follows:
D:\Program Files (x86)\Microsoft System Center\Service Manager <version>
Authoring\Library\ServiceManager.ChangeManagement.Library.mp.
Select the management pack, and select Open.
2. In the Management Pack Explorer, select the Service Manager Change Management Library
(sealed) management pack, and then expand Forms. Right-click the form that ends with
ChangeRequestForm, and select Customize.
3. In the Target Management Pack dialog, select the WoodGrove Automated Activity - Add
Computer To AD Group management pack, and select OK.
A new form item now appears in the Automated Activity - Add Computer To AD Group
management pack. The name of the new form is
Microsoft.EnterpriseManagement.ServiceManager.ChangeManagement.Forms.ChangeRequestForm
(Customized).
4. Right-click the new form item, and select Customize to open it in the authoring pane.
5. In the authoring pane, customize the look of the form by dragging fields and rearranging their
location on the form.
6. Select View, and select Form Customization Toolbox.
7. Drag the Image icon from the Form Customization Toolbox to the form.
8. In the Insert Image dialog, specify the path of the Woodgrovebank.jpg file.
9. Select File, and select Save All to save the custom management pack.

Step 3 - Create the WF workflow


In this step of the Woodgrove Bank customization scenario, Ken creates the workflow that supports
the custom activity for change requests. To design the Windows Workflow Foundation (WF)
workflow, Ken considers the following factors:
When should the workflow run? The workflow should start when the applicable change
request is approved.

What does the workflow need to do? The workflow needs to add a computer to a group in
Active Directory Domain Services (AD DS), and then change the status of the automated activity
to Complete.

What information does the workflow need? The change request provides information about
the specific computer and group to use. Properties of the workflow activities can retrieve the
change request information from the Service Manager activity that is associated with the
change request.

To create and implement their new workflow, Ken follows the steps in the rest of this section.
They use the Woodgrove.AutomatedActivity.AddComputerToGroupMP management pack, as
described in Step 1: Open the Woodgrove.AutomatedActivity.AddComputerToADGroupMP
Management Pack. These procedures assume that this management pack is still open in the
Service Manager Authoring Tool.

Create a New Workflow


Ken uses this procedure to create a workflow named AddComputerToADGroupWF in the
Woodgrove.AutomatedActivity.AddComputerToADGroupMP management pack.

To create the new workflow

1. If the Authoring Tool isn't open, start the Authoring Tool: On your desktop, select Start, select
Service Manager Authoring Tool, and wait for the Authoring Tool to open.
2. If the Woodgrove.AutomatedActivity.AddComputerToADGroupMP management pack isn't
open, open it: On the File menu, point to Open, and select File. In the Open File dialog, select
Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml, and select Open.
3. In the Management Pack Explorer, right-click Workflows, and select Create.
4. On the General page of the Create Workflow Wizard, in the Name box, enter
AddComputerToADGroupWF, and select Next.
5. On the Trigger Condition page, select Run only when a database object meets specified
conditions, and select Next.
6. On the Trigger Criteria page, under Class name, select Browse.
7. In the Class Property dialog, select Automated Activity: Add Computer To AD Group, and
select OK to return to the Trigger Criteria page.
8. Under Change event, in the list, select When an instance of the class is updated, and select
Additional Criteria.
9. In the Pick additional criteria dialog, select the Change To tab, select the Status property of
Automated Activity: Add Computer To AD Group class, and select Add.
10. Under Criteria, select [Activity] Status equals In Progress, and then, in the Pick additional
criteria dialog, select OK.
11. On the Trigger Criteria page of the Create Workflow Wizard, select Next.
12. On the Summary page, review the settings for the new workflow, and select Create. After the
wizard has completed, select Close.
13. In the Management Pack Explorer, right-click the management pack, and select Save.

For general information about these steps, see How to Create a New Workflow and How to Save and
Build a Workflow.

Add the Workflow Activities


Ken uses this procedure to add the WF activities Add AD DS Computer to Group and Set Activity
Status to Completed to their workflow.

Add WF activities to the workflow


1. In the Management Pack Explorer, expand Workflows, right-click
AddComputerToADGroupWF, and select Edit.
2. In the Activities Toolbox pane, locate the Active Directory Activities group.
3. Drag Add AD DS Computer to Group to the authoring pane, and drop it between the
Workflow Start and End icons.
4. Drag Set Activity Status to Completed, and drop it between the previous activity and the End
icon.
For general information about these steps, see How to Add an Activity to a Workflow.

Configure the Activity Properties


Ken uses this procedure to set the Computer Name and Group Name properties of the Add AD DS
Computer to Group activity to retrieve the values of the Automated Activity: Add Computer To AD
Group properties Computer Name, Group Name, and Activity ID from the change request. In
addition, they set the Computer Domain name property of the Add AD DS Computer to Group
activity to a constant value.

Configure the activity properties

1. In the Details pane, select Computer Name, select the ellipsis button (...), select Use a class
property, select ComputerName, and select OK.
2. In the Details pane for the Add AD DS Computer to Group activity, select Group Name, select
the ellipsis button (...), select Use a class property, select GroupName, and select OK.
3. In the Details pane, select Computer Domain name, and in the text box, enter
woodgrove.com.
4. In the authoring pane, select the Set Activity Status to Completed activity.
5. Select Activity ID, and select the ellipsis button (...) that appears next to the property. On the
left side of the dialog, select Use a class property, and then, in the property list, select ID
(Internal). Select OK.
6. In the Management Pack Explorer, right-click the management pack, and select Save.
For general information about these steps, see How to Set an Activity Property to Use a Value from
the Trigger Class and How to Set an Activity Property to a Constant Value.

Step 4 - Move the assembly files to the Service


Manager console
In this step of the Woodgrove Bank customization scenario, in System Center - Service Manager Ken
must move the workflow assembly file and the form assembly file to the Service Manager program
directory to use the workflow with the Service Manager console.

For general information about deploying a workflow to Service Manager, see How to Deploy a
Workflow to Service Manager.

Move the assembly files


1. In Windows Explorer, open the folder in which you saved the management pack, and copy the
AddComputerToADGroupWF.dll and AddComputerToGroupFormAssembly.dll files.
2. Open the Service Manager installation folder (for example, C:\Program Files\Microsoft System
Center\Service Manager), and paste the copied files in that folder.

Step 5 - Bundle and import the custom management


pack to Service Manager
In this step of the Woodgrove Bank customization scenario, Ken needs to bundle the management
pack file with all the necessary resource files and then import the bundled file into Service Manager.
When Service Manager imports a management pack, it validates the XML code in the management
pack file and then imports the management pack only if it's valid.

Bundle the management pack file with its associated resource


files
1. Ensure that the Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml file and its
associated resource files, such as the Woodgrovebank.jpg image file and the
AddComputerToGroupFormAssembly.dll file, are in the same folder. For example, put all the
files in the AuthoringSample folder.

2. Copy the folder that contains the files to the Service Manager management server.

3. Bundle the files using the Windows PowerShell cmdlet New-SCSMManagementPackBundle. For
example:

New-SCSMManagementPackBundle -Name AddComputerToGroup.mpb -ManagementPack


Woodgrove.AutomatedActivity.AddComputerToGroupMP.xml
Import the management pack into Service Manager
1. In the Service Manager console, select Administration.
2. In the Administration pane, expand Administration, and select Management Packs.
3. In the Tasks pane, under Management Packs, select Import Management Pack.
4. In the Select Management Packs to Import dialog, select AddComputerToGroup.mpb.
5. In the Import Management Packs dialog, select Add, select Import, and select OK.

Step 6 - Extend the change area enumeration list


In this step of the Woodgrove Bank customization scenario, Ken extends the Change Area
Enumeration list by adding a new Compliance list item that represents the new change request type.

The following procedure provides only high-level steps for creating a new list item in the Service
Manager console. For the complete procedure for creating a new list item, see How to Add a List
Item.

Create a new list item


1. In the Service Manager console, select Change Area Enumeration as the list to edit.
2. Specify Compliance as the new value to add to this list.

Step 7 - Create a new task


When Ken works with a compliance change request, they need to easily access the Active Directory
Users and Computers administrative tool.

In this step of the Woodgrove Bank customization scenario, to make it easy to access the tool, Ken
creates a new task, Start Active Directory Users and Computers. They save this task to the
Woodgrove Automated Activity - Add Computer To Group management pack. They can later use
the new task to start the tool.

The following procedure provides only the high-level steps for creating a new task in the Service
Manager console. For the complete procedure for creating a new task, see How to Create a Task.

Create a new task


1. In the Service Manager console, specify the task name: Start Active Directory Users and
Computers.
2. Specify the target class: Change Request.
3. Specify the management pack in which to save this customization: Service Manager Change
Management Configuration Library.
4. Specify the display category for the task: Change Management Folder Tasks.
5. Specify the command: %systemroot%\system32\mmc.exe.
6. Clear the Show output when this task is run checkbox.
Step 8 - Create a new view
To continue with the customizations in the Woodgrove Bank scenario, in this step, Ken creates the
Compliance Change Requests view that will display only change requests of the Compliance type.
Ken saves the new view to the Service Manager Change Management Configuration Library
management pack. Users can monitor these change requests in the Service Manager console.

Create a new view


1. In the Service Manager console, select Work Items.
2. In the Work Items pane, expand Change Management.
3. In the Tasks pane, select Create View.
4. In the General section of the Create View dialog, enter Compliance Change Requests in the
Name box.
5. Select the Criteria section.
6. Next to the Search for objects of a specific class list, select Browse.
7. In the Select a Class dialog, under Name, select Change Request. In the Available Properties
list, select Area, and select Add.
8. At the end of the Criteria section, in the Criteria definition area, select the Area criterion, and in
the empty box, set the value to Compliance. When the criterion is complete, it resembles
[Change Request] Area equals Compliance.
9. Select Display, and in the Columns to display list, select Status, Classification Category, and
Description. Then, select OK.

Step 9 - Create a new change request template


In this step of the Woodgrove Bank customization scenario, Ken creates a template for the new
compliance change request type; the template is named Apply AppLocker Software Policy to
Computer. The new template helps ensure consistency among all the change requests of this type,
and it helps ensure the correct workflow behavior.

The following procedure provides only the high-level steps for creating a new template in the
Service Manager console. For the complete procedure for creating a new template, see How to
Create Change Request Templates.

Create a new template


1. In the Service Manager console, specify the following as the name of the template: Apply
AppLocker Software Policy to Computer.
2. Set the class to Change Request.
3. Set the management pack to WoodGrove Automated Activity: Add Computer to AD Group.
4. When the change request form is displayed, note the customizations in the form, such as the
image that was previously added and the new layout of the fields.
5. On the General tab on the form, set Area to Compliance.
6. On the Activities tab, add a review activity named Review and Approve Adding Computer to
Group, and then set the reviewer to an appropriate user.
7. Add the new activity Automated Activity: Add Computer AD Group.
8. Set Group to GP_AUTHAPPS.
9. Save the template.

Step 10 - Optionally create a notification template and


subscription
If System Center - Service Manager is configured with a Simple Mail Transfer Protocol (SMTP) server,
as part of the Woodgrove Bank customization scenario, Ken can configure an email notification that
will be sent to them when a new computer is added to the compliance group. This is an optional
step.

The following procedure provides only the high-level steps for creating the Computer Added to
AppLocker Policy Notification Template email notification template and subscription in the Service
Manager console. For the complete procedure for creating a notification template, see How to
Create Notification Templates.

Create an email notification template and subscription


1. In the Service Manager console, create a new notification email template. In the Administration
pane, select Notifications, and select Templates. In the Tasks pane, select Create E-mail
Template, and then complete the Create E-Mail Notification Template Wizard.
2. On the General page, specify the Name to be AppLocker Policy Notification Template, and
specify the Class as Automated Activity: Add Computer to AD Group. Specify Management
pack to be Woodgrove Automated Activity - Add Computer To Group.
3. On the Template Design page, in the Subject box, enter Computer, and select Insert. In the
Property Picker dialog, select ComputerName. Add the following text to the Subject box: was
added to the AppLocker Policy Group. Add any text in the MessageBody box, and save the
template.
4. In the Administration pane, select Notifications, and select Subscriptions. In the Tasks pane,
select Create Subscription, and then complete the Create E-Mail Notification Subscription
Wizard.
5. In the Name box, enter Computer Added to AppLocker Policy Notification.
6. In the Class box, enter Automated Activity: Add Computer to AD Group.
7. Specify Notification condition to be When an object of the selected type is updated.
8. Specify Management pack to be Woodgrove Automated Activity - Add Computer To Group.
9. On the Additional Criteria page, add criteria in which Status equals Completed.
10. On the Template page, specify E-mail template to be the previously created template,
Computer added to AppLocker Policy Notification.
11. On the Recipient page, add recipients from your organization.
Step 11 - Use the new compliance change request
process
In this final step of the Woodgrove Bank customization scenario for System Center - Service
Manager, Ken tests the new change request process and uses all its related customized objects. Ken
creates a compliance change request to add the new ADComputer1 computer to the GP_AUTHAPPS
group in Active Directory Domain Services (AD DS). Ken follows the process in the Service Manager
console as it changes status while progressing from the first activity to the next.

Create a compliance change request


1. Start the Active Directory Users and Groups tool by using the Start Active Directory Users and
Computers task. Ensure that it doesn't contain the ADComputer1 computer that you're about
to add.
2. In the Service Manager console, select Work Items, and then in the Work Items pane, expand
Change Management.
3. In the Tasks pane, select Create Change Request, and then select Apply AppLocker Software
Policy to Computer. In the Change Request form, note the icon that was previously added.
4. On the General tab, in the Name box, enter New Compliance Change Request, and then set
Area to Compliance.
5. Select the Activities tab, and in the Process activities area, open the Add Computer to Group
activity.
6. On the Activity Form page, in the Computer name box, enter ADComputer1. Select OK on the
Activity form, and select OK on the Change form.
7. In the Change Management pane, expand Change Management, and select Compliance
Change Requests. Wait approximately 10 to 20 seconds until the new change request appears
in the Compliance Change Requests View pane. (You might have to refresh the view).
8. Use the Start AD Users and Computers task to start the Active Directory Users and Computers
tool. In the tool, create the GP_AUTHAPPS group. (In the previous steps in the scenario, you
configured the change request process to add computers to this group.) When the state of the
change request changes to In Progress, open it, select the Review Activity: Approve Change
Request activity, and approve it. Then, select Submit and Close.
9. Wait approximately 5 to 10 seconds, and notice that the status of the activity changed to
Completed. Also, notice that the status of the next activity has changed to In Progress, which
means that the second activity has started to run. The activity rule has been triggered, and the
custom workflow has started.
To check the status of the AddComputerToADGroupWF workflow, select Administration. In the
Administration pane, expand Workflows, and then select Status. In the Status pane, select
AddComputerToADGroupWF.
10. Use the Start AD Users and Computers task to start the Active Directory Users and Computers
tool, and notice that the GP_AUTHAPPS Active Directory group now contains the new
ADComputer1 computer. At this point, any policies that are configured to be applied to
computers in this Active Directory group apply to the computer that was added.
Notice that the status of the automated activity has now also changed to Completed due to
the last step in the AddComputerToADGroupWF workflow.
11. Start Microsoft Outlook and locate the email notification that was sent to the process manager
about the new computer that was added to the Active Directory group.

Next steps
Customize a column title in a view for the authoring views sample scenario.
Customize a column title in a view for
the authoring views sample scenario
Article • 02/21/2023

System Center - Service Manager contains predefined views that you can use to display
information and the status of various work items and configuration items in the Service
Manager console. Views are defined in unsealed management packs, allowing for some
customizations of views.

For example, you can use the following procedure to customize a column title of a
predefined view to reflect processes that are used in your organization.

Another customization to a view is adding a column to a predefined view. For more


information about adding a column to an existing view, see the Editing a View in a
Management Pack blog.

To customize a column title in a view


1. Locate and export the management pack that contains the view that you want to
customize, as follows:
a. In the Service Manager console, select Administration.
b. In the Administration pane, select Management Packs.
c. In the Management Packs view, select Sealed to sort the column by sealed and
unsealed management packs. Select the management pack that contains the
view that you want to customize. It must be an unsealed management pack,
such as Service Manager Incident Management Configuration Library.
d. In the Tasks pane, select Export.
e. In the Browse For Folder dialog, select a folder to store the exported
management pack, and select OK.

2. Open the exported management pack in an XML editor, such as Notepad or


Microsoft Visual Studio.

3. Update the management pack, as follows:

a. In the <LanguagePacks> section of the file, locate the DisplayString for the
column that you want to customize.

This example shows the code for the My Incidents view:


System.WorkItem.Incident.AssignedToMe.View

and the code for the Category column in that view:

System.WorkItem.Incident.AssignedToMe.View.Header_Category

and the DisplayString for the Category column in the My Incidents view:

XML

<DisplayString
ElementID="System.WorkItem.Incident.AssignedToMe.View.Header_Categor
y">
<Name>Category</Name>
<Description>Category</Description>
</DisplayString>

b. Replace the column title inside the <Name> </Name> tags and inside the
<Description> </Description> tags with the custom column title. For example,

replace Category with My Organization's Category.

4. Save the custom management pack.

5. Import the custom management pack in Service Manager:


a. In the Administration pane, select Management Packs.
b. In the Tasks pane, select Import.
c. In the Select Management Pack to Import dialog, select a folder in which you
stored the custom management pack, and select Open.
d. In the Import Management Pack dialog, select Import. Wait for the import to
complete, and select OK.

In the Service Manager console, select the view that you customized to see the new
column title.

Next steps
Include dashboards and reports in custom views for the Authoring Tool reports
sample scenario.
Include dashboards and reports in
custom views for the Service Manager
Authoring Tool reports sample scenario
Article • 09/26/2023

One of the benefits of using System Center - Service Manager with Microsoft
SharePoint, and of including the new Microsoft Online Analytical Processing (OLAP)
cubes in the Service Manager box, is that it's easy to create SharePoint dashboards
using PerformancePoint Services in Microsoft SharePoint Server 2010 or Microsoft Excel.
You can then create a custom view in Service Manager to display these dashboards.

Use the following procedures to create a custom view to display a SharePoint dashboard
from your environment in the Service Manager console. Complete all of the following
three procedures in the order that they appear.

To create the dashboard management pack


1. In the Service Manager console, select Administration.

2. In the Tasks pane, select Start PowerShell Session.

3. In the Windows PowerShell window, enter the following, and then press Enter:

PowerShell

New-SCManagementPack -DisplayName Dashboards

4. In the Service Manager console, select Work Items. In the Work Items pane, right-
click Incident Management, and select Create Folder.

5. In the Create new folder dialog, enter Dashboards as the Folder name. Select
Dashboards as the Management pack, and select OK.

6. In the Windows PowerShell, enter the following two commands:

PowerShell

Get-SCManagementPack -DisplayName Dashboards | Export-SCManagementPack


-Path C:\DashBoards

PowerShell
Get-SCManagementPack -DisplayName Dashboards | Remove-SCManagementPack

To edit the dashboard management pack in


Visual Studio
1. Start Microsoft Visual Studio.

In Visual Studio, select File, select Open, select File, and in the Open File dialog,
point to the C:\DashBoards folder and open the management pack file that you
exported. The format of the file name is ManagementPack.<GUID>.xml.

Edit the management pack file in Visual Studio, as described in the next several
steps.

2. Locate the <Assembly> tag, and replace it with the following code:

XML

<Assembly>EnterpriseManagement!WpfViewsAssembly</Assembly>

3. Replace the current ID with IncidentDashboards, as follows:

Locate the following code block:

XML

<Identity>
<ID>ManagementPack.aded6801e732473d80731943d22d33dc</ID>
<Version>7.5.1088.276</Version>
</Identity>

Within that block, update the <ID> block, as follows:

XML

<ID>IncidentDashboards</ID>

Then, locate the following code block:

XML

<DisplayStrings>
<DisplayString
ElementID="ManagementPack.aded6801e732473d80731943d22d33dc">
<Name>Dashboards</Name>
</DisplayString>

Within that block, update the <DisplayString> tags as follows:

XML

<DisplayString ElementID="IncidentDashboards">

4. Select FileSave ManagementPack.<GUID>.xml As, and in the Save File As dialog,


enter C:\DashBoards\IncidentDashboards.xml as the File name.

5. In the <References> section, add a reference to the System.Library management


pack. The resulting <References> section should look as follows:

XML

<References>
<Reference Alias="EnterpriseManagement">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Console</ID>
<Version>7.5.1088.276</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="IncidentManagement">
<ID>ServiceManager.IncidentManagement.Library</ID>
<Version>7.5.1088.276</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.5.1088.276</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>

Save the updated file.

6. Add a new PresentationsType section between the </Categories> and the


<Presentation> sections. The end result of this addition should be as follows:

XML

</Categories>
<PresentationTypes>
<ViewTypes>
<ViewType ID="Dashboard" Accessibility="Public">
<Configuration>
<xsd:any minOccurs="0" maxOccurs="unbounded"
processContents="skip" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<ViewImplementation>
<Assembly>Console!WpfViewsAssembly</Assembly>

<Type>Microsoft.EnterpriseManagement.UI.WpfViews.Overview</Type>
</ViewImplementation>
</ViewType>
</ViewTypes>
</PresentationTypes>
<Presentation>

Save the updated file.

7. Add a view declaration by adding the following between the <Presentation> and
the <Folders> tags. The resulting code should look as follows:

XML

<Presentation>
<Views>
<View ID="View.IncidentDashboard" Accessibility="Public"
Enabled="true" Target="System!System.Entity" TypeID="Dashboard"
Visible="true">
<Category>NotUsed</Category>
<Configuration>
<Presentation>
<Header />
<Content>
<WebBrowser
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Name="wb1"
Source="http://Dashboards/IncidentDashboard.aspx"/>
</Content>
</Presentation>
</Configuration>
</View>
</Views>
<Folders>

7 Note

Replace the URL in the Source attribute with a URL to a dashboard in your
environment. This URL should display content that the user's browser can
access on the Intranet or on the Internet.

Save the updated file.


8. Add a new FolderItem element to the FolderItems section. The resulting code
should look as follows:

XML

<Folders>
<Folder ID="Folder.dd2ff258eca54d93a4f10c312df00673"
Accessibility="Public"
ParentFolder="IncidentManagement!ServiceManager.Console.IncidentManagem
ent" />
</Folders>
<FolderItems>
<FolderItem ElementID="View.IncidentDashboard"
ID="FolderItem.View.IncidentDashboard"
Folder="Folder.dd2ff258eca54d93a4f10c312df00673"/>
<FolderItem
ElementID="EnterpriseManagement!Microsoft.EnterpriseManagement.ServiceM
anager.UI.Console.Task.CreateGridView"
ID="FolderItem.695321a1458140e7af75fe3a95888f8e"
Folder="Folder.dd2ff258eca54d93a4f10c312df00673" />
</FolderItems>

) Important

The Folder ID is different each time because it's generated by the console
when the folder is created. Copy the ID attribute from the <Folder> element,
and paste it as the Folder attribute in the FolderItem element. Ensure that
the values of the Folder element ID attribute and the FolderItem element
Folder attribute are identical.

Save the updated file.

9. Update DisplayString with the ID from the previous step. Locate the following
code:

XML

<DisplayString ElementID="Folder.<ID>"

Update it with the ID from the previous step. This code should now resemble the
following:

XML
<DisplayString ElementID="Folder.dd2ff258eca54d93a4f10c312df00673">

10. Add a new ImageReference element to the ImageReferences section. The resulting
code should look as follows:

XML

<ImageReferences>
<ImageReference ElementID="View.IncidentDashboard"
ImageID="IncidentManagement!IncidentMgmt_AllIncidents_16"/>
<ImageReference ElementID="Folder.dd2ff258eca54d93a4f10c312df00673"
ImageID="EnterpriseManagement!Microsoft.EnterpriseManagement.ServiceMan
ager.UI.Console.Image.Folder" />
</ImageReferences>

7 Note

This ImageReference element points to the default Incident icon that is used
for the All Incidents view in the Service Manager console. You can use a
custom image resource instead.

Save the updated file.

11. Add a new DisplayString element to the DisplayStrings section. The resulting
code should look as follows:

XML

<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="View.IncidentDashboard">
<Name>Incident Dashboard</Name>
</DisplayString>
<DisplayString ElementID="IncidentDashboards">
<Name>Dashboards</Name>
</DisplayString>
<DisplayString
ElementID="Folder.dd2ff258eca54d93a4f10c312df00673">
<Name>Dashboards</Name>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>
Save the updated file.

To display the dashboard in a custom view


1. In the Service Manager Windows PowerShell session, run the following command
to validate the IncidentDashboards management pack:

PowerShell

Test-SCManagementPack -FullName C:\DashBoards\IncidentDashboards.xml

2. If the validation is successful, import the management pack by running the


following command:

PowerShell

Import-SCManagementPack -FullName C:\DashBoards\IncidentDashboards.xml

3. Close and then reopen the Service Manager console.

4. Select Work Items. In the Work Items pane, expand Incident Management, and
then expand Dashboards. Select the Incident Dashboard view to view the
dashboard from the SharePoint site that is hosted in the Service Manager console.

7 Note

If you're running this procedure in an environment that doesn't have the


Service Manager data warehouse, the dashboard may not display the actual
data.
Advanced analytical reports available in
Service Manager
Article • 03/15/2023

The following analytical reports - which are presented as Microsoft Online Analytical
Processing (OLAP) data cubes - are available in Service Manager. The data cubes that
are included in Service Manager contain measures and dimensions.

Dimensions
The following dimensions are contained in various data cubes. However, not all data
cubes contain each dimension.

WorkItemDim
ConfigItemDim
UserDim
ComputerDim
ChangeRequestDim
ReviewerDim
SerivceDim
ConfigItemObjectStatus
ConfigItemAssetStatus
ActivityStatus
ActivityPriority
ActivityArea
ActivityStage
ChangeStatus -Change Category
ChangePriority
ChangeImpact
ChangeRisk
ChangeImplementationResults
ChangeArea
ReviewerDecision
ServiceStatus
ServiceClassification
ServicePriority
DateDim
DeletionStatusDim
OperatingSystemDim
ProcessorDim
NetworkAdapterDim
LogicalDiskDim
PhysicalDiskDim
DeployedComputerDim
SLAConfigurationDim
SLAMetricDim
SLADatePropertyTimeMetricDim
CalendarDim
WorkItemGroupDim
BillableTimeDim
IncidentDim
ProblemDim
ReleaseRecordDim
SLAInstanceStatus
IncidentStatus
IncidentSource
IncidentTierQueues
IncidentClassification
IncidentResolutionCategory
IncidentImpact
IncidentUrgency
ProblemStatus
ProblemSource
ProblemClassification -ProblemResolution
ReleaseStatus
ReleaseType
ReleaseCategory
ReleasePriority
ReleaseImpact
ReleaseRisk
ReleaseImplementionResults
ReleaseTemplate
ReviewActivityDim
ServiceRequestDim
RequestOfferingDim
ServiceOfferingDim
OfferingDim
ReviewActivityApproval
ServiceRequestStatus
ServiceRequestTemplate
ServiceRequestPriority
ServiceRequestUrgency
ServiceRequestSource
ServiceRequestImplementationResults
ServiceRequestArea
ServiceRequestSupportGroup
OfferingStatus
ServiceOfferingCategory
ConfigurationManagerCollectionDim
PowerActivityRecordEventType
SoftwareUpdateDim

Work item data cube


The work item data cube contains the following measures:

SLAInstanceInformationCount
SLAInstanceStatusCount
SLAConfigurationHasMetricCount
SLAConfigurationHasCalendarCount
WorkItemGroupContainsWorkItemCount
WorkItemIsAboutConfigItemCount
WorkItemCreatedByUserCount
WorkItemAssignedToUserCount
WorkItemAffectedByUserCount
WorkItemRelatesToConfigItemCount
WorkItemRelatesToWorkItemCount
WorkItemHasBillableTimeCount
BillableTimeBilledByUserCount
TotalTimeMeasure
IncidentStatusDurationCount
IncidentStatusCount
IncidentResolutionByUserCount
IncidentPrimaryUserCount
IncidentIsAboutConfigItemCount
IncidentCreatedByUserCount
IncidentAssignedToUserCount
IncidentAffectedByUserCount
IncidentRelatesToConfigItemCount
IncidentRelatesToWorkItemCount
IncidentHasBillableTimeCount
IncidentRelatesToProblemCount
IncidentSLAInstanceInformationCount
WorkItemGroupContainsIncidentCount
ProblemResolutionByUserCount
ProblemIsAboutConfigItemCount
ProblemCreatedByUserCount
ProblemAssignedToUserCount
ProblemAffectedByUserCount
ProblemRelatesToConfigItemCount
ProblemRelatesToWorkItemCount
ProblemHasBillableTimeCount
ProblemSLAInstanceInformationCount
ReleaseIsAboutConfigItemCount
ReleaseCreatedByUserCount
ReleaseAssignedToUserCount
ReleaseSLAInstanceInformationCount
WorkItemIsAboutComputerCount
WorkItemIsAboutServiceCount
ServiceContainsConfigItemCount
ServiceContainsComputerCount
WorkItemDimCount
SLAConfigurationDimCount
SLAMetricDimCount
SLADatePropertyTimeMetricDimCount
CalendarDimCount
WorkItemGroupDimCount
ConfigItemDimCount
UserDimCount
BillableTimeDimCount
TimeWorkedSum
IncidentDimCount
IncidentsResolvedCount
IncidentsResolvedWithinTargetResolutionTimeCount -
IncidentsResolutionTimeInHoursSum
IncidentsPastTargetResolutionTimeCount
ProblemDimCount
ReleaseRecordDimCount
ReleasesImplementedOnScheduleCount
ComputerDimCount
ServiceDimCount

Power management data cube


The power management data cube contains the following measures:

ComputerHostsOperatingSystemCount
DeployedComputerRunsWindowsComputerCount
ConfigManagerCollectionHasComputerCount
Hour0
Hour1
Hour2
Hour3
Hour4
Hour5
Hour6
Hour7
Hour8
Hour9
Hour10
Hour11
Hour12
Hour13
Hour14
Hour15
Hour16
Hour17
Hour18
Hour19
Hour20
Hour21
Hour22
Hour23
PowerActivityDayCount
PowerActivityRecordEventTypeCount
ServiceContainsConfigItemCount
ServiceContainsComputerCount
ComputerDimCount
OperatingSystemDimCount
DeployedComputerDimCount
ConfigurationManagerCollectionDimCount
ServiceDimCount
ConfigItemDimCount

Software updates data cube


The software updates data cube contains the following measures:

ComputerHostsOperatingSystemCount

DeployedComputerRunsWindowsComputerCount
ConfigurationManagerCollectionHasComputerCount
IsInstalled
IsMissing
IsUnknown
ComputerHasSoftwareUpdateCount
ServiceContainsConfigItemCount
ServiceContainsComputerCount
ComputerDimCount
OperatingSystemDimCount
DeployedComputerDimCount
ConfigurationManagerCollectionDimCount
SoftwareUpdateDimCount
ServiceDimCount
ConfigItemDimCount

Service catalog data cube


The service catalog data cube contains the following measures:

SLAConfigurationHasMetricCount
SLAConfigurationHasCalendarCount
ActivityIsAboutConfigItemCount
ActivityCreatedByUserCount
ActivityAssignedToUserCount
ActivityRelatesToConfigItemCount
ActivityRelatesToWorkItemCount
ActivityTotalTimeMeasure
ActivityStatusDurationCount
ActivityStatusCount
ReviewActivityHasReviewerCount
ReviewerIsReviewerUserCount
ReviewerVotedByUserCount
ReviewActivityRelatesToConfigItemCount
ReviewActivityAssignedToUserCount
ReviewActivityCreatedByUserCount
WorkItemGroupContainsServiceRequestCount
ServiceRequestIsAboutConfigItemCount
ServiceRequestCreatedByUserCount
ServiceRequestAssignedToUserCount
ServiceRequestRelatesToConfigItemCount
ServiceRequestRelatesToWorkItemCount
ServiceRequestAffectedUserCount
ServiceRequestContainsActivityCount
ServiceRequestTotalTimeMeasure
ServiceRequestStatusDurationCount
ServiceRequestStatusCount
ServiceRequestSLAInstanceInformationCount
SLAInstanceStatusCount
ServiceRequestRelatesToRequestOfferingCount
ServiceOfferingRelatesToRequestOfferingCount
ServiceOfferingPublishedByUserCount
RequestOfferingPublishedByUserCount
ServiceOfferingOwnerCount
RequestOfferingOwnerCount
ServiceRelatesToServiceOfferingCount
SLAConfigurationDimCount
SLAMetricDimCount
SLADatePropertyTimeMetricDimCount
CalendarDimCount
WorkItemDimCount
ConfigItemDimCount
ActivityDimCount
UserDimCount
ReviewerDimCount
ReviewActivityDimCount
WorkItemGroupDimCount
ServiceRequestDimCount
RequestOfferingDimCount
ServiceOfferingDimCount -OfferingDimCount
ServiceDimCount
Configuration item data cube
The configuration item data cube contains the following measures:

ConfigItemRelatesToConfigItemCount
ComputerPrimaryUserCount
ComputerHostsOperatingSystemCount
ComputerHostsProcessorCount
ComputerHostsNetworkAdapterCount
ComputerHostsLogicalDiskCount
ComputerHostsPhysicalDiskCount
ServiceImpactsUserCount
ConfigItemOwnedByUserCount
ConfigItemServicedByUserCount
ConfigItemImpactsCustomersCount
DeployedComputerRunsWindowsComputerCount
ServiceContainsConfigItemCount
ServiceContainsComputerCount
ConfigItemDimCount
ComputerDimCount
UserDimCount
OperatingSystemDimCount
TotalRAMInMB
ProcessorDimCount
TotalProcessorSpeed
NetworkAdapterDimCount
LogicalDiskDimCount
TotalDiskSpace
PhysicalDiskDimCount
ServiceDimCount
DeployedComputerDimCount

Change and activity management data cube


The change and activity management data cube contains the following measures:

WorkItemIsAboutConfigItemCount
WorkItemCreatedByUserCount
WorkItemAssignedToUserCount
WorkItemRelatesToWorkItemCount
ActivityIsAboutConfigItemCount
ActivityCreatedByUserCount
ActivityAssignedToUserCount
ActivityRelatesToWorkItemCount
ActivityIsAboutComputerCount
ChangeRequestIsAboutConfigItemCount
ChangeRequestCreatedByUserCount
ChangeRequestAssignedToUserCount
ChangeRequestRelatesToWorkItemCount
ChangeRequestContainsActivityCount
ChangeRequestIsAboutComputerCount
ReviewActivityHasReviewerCount
ReviewerIsReviewerUserCount
ReviewerVotedByUserCount
ReviewActivityRelatesToConfigItemCount
ReviewActivityAssignedToUserCount
ReviewActivityCreatedByUserCount
WorkItemIsAboutComputerCount
ActivityRelatesToChangeRequestCount
ServiceContainsConfigItemCount
ServiceContainsComputerCount
WorkItemDimCount
ConfigItemDimCount
UserDimCount
ActivityDimCount
ActivitiesImplementedCount
ActivitiesImplementedOnScheduleCount
ComputerDimCount
ChangeRequestDimCount
ChangeRequestsImplementedCount
ChangeRequestsImplementedOnScheduleCount
EmergencyChangeRequestsCount
ProcessTimePerChangeInDaysSum
ReviewerDimCount
ServiceDimCount
Service Manager Authoring Tool
workflow activity reference
Article • 04/03/2023

This article provides guidance for information technology (IT) developers so that they
can create custom Windows Workflow Foundation (WF) activities that IT pros can use to
build WF workflows that are specific to their IT processes. Custom WF activities extend
the Activity Library—the activities that are distributed with the Service Manager
Authoring Tool. The Workflow Activity Reference section of this document provides
details of the default WF activities in the Activity Library. This information is intended to
help developers (or IT pros acting as developers) create custom WF activities, as needed.

For information about how to use WF activities and WF workflows with Service Manager,
see Automating IT Processes with Workflows.

Active Directory activities


Use Active Directory Domain Services (AD DS) activities to make Active Directory
functions part of your workflow in Service Manager.

The Service Manager Authoring Tool provides two default Service Manager activities in
the Active Directory Activities group in the Activities Toolbox pane. The sections in this
article describe these activities.

Add AD DS Computer to a Group activity


This activity adds a computer to a security group in Active Directory Domain Services
(AD DS) in Service Manager. The computer and the group must belong to the same
domain, and all the containers in the domain are searched.

Design time Run time prerequisites


prerequisites

None When you use this activity, ensure that the Service Manager Workflow account
has sufficient permissions to modify security groups in AD DS.

Properties

The Add AD DS Computer to Group activity uses the input properties that are
described in the following table.
Display Internal name Type Required Description
name

Computer ComputerDomain String Yes The fully qualified DNS domain


Domain name where the computer is
located (for example,
contoso.com).

Computer FullyQualifiedComputerName String Yes The name of the computer.


Name

Group FullyQualifiedGroupName String Yes The name of the Active


Name Directory Domain Services
group.

The Add AD DS Computer to Group activity generates the output that is described in
the following table.

Display Internal Type Description


name name

Output Output Boolean The result of the operation: True if the addition succeeded;
False if it failed.

Errors and exceptions Remarks Example

None None None

Add AD DS User to Group activity


This activity adds a user to a security group in Active Directory Domain Services (AD DS)
in Service Manager. The user and the group must belong to the same domain, and all
the containers in the domain are searched.

Design time Run time prerequisites


prerequisites

None When you use this activity, ensure that the Service Manager Workflow account
has sufficient permissions to modify security groups in AD DS.

Properties
The Add AD DS User to Group activity uses the input properties that are listed in the
following table.
Display Internal name Type Required Description
name

User UserDomain String Yes The fully qualified domain name


Domain (FQDN) of the user.

User Name UserName String Yes The sign-in name of the user.

Group FullyQualifiedGroupName String Yes The FQDN of the group.


Name

The Add AD DS User to Group activity generates the output that is described in the
following table.

Display Internal Type Description


Name Name

Output Output Boolean The result of the operation: True if the addition succeeded,
False if it failed.

Errors and exceptions Remarks Example

None None None

Control Flow activities


Use control flow activities to provide structure—branches, loops, or timer delays—for
your workflow in Service Manager.

The Authoring Tool provides four default control flow activities in the Control Flow
group in the Activities Toolbox pane.

Delay activity
This activity introduces a delay between activities in a workflow in Service Manager. The
Delay activity is derived from the Microsoft .NET Framework DelayActivity class.

Design time prerequisites Run time prerequisites

None None

Properties
The Delay activity uses the input properties that are listed in the following table.
Display name Internal name Type Required Description

Initialize InitializeTimeoutDuration Internal Specifies a handler to


TimeoutDuration initialize the
TimeoutDuration
property.

TimeoutDuration TimeoutDuration Timespan Yes Duration of the delay.

The Delay activity doesn't produce an output property.

Errors and Remarks Example


exceptions

None For more information about this activity, see DelayActivity Class in None
the .NET Framework Class Library.

For Each Loop activity


The For Each Loop activity takes as an input an array (collection) of objects and repeats
the set of activities within the loop for each object in the collection. For example, if the
input collection has five objects, the loop iterates five times. If the collection is empty,
the loop doesn't iterate. There's no upper limit to the number of objects in the
collection. The For Each Loop activity always runs on the computer on which the
workflow runs.

The For Each Loop activity is a composite activity with two containers for activities:

Input Container: This activity sets up the loop and defines the input collection. You
can use the Get Incident or the Get Virtual Machine activity in this role.

Loop Container: Named ForEachChildActivity, this activity contains the loop


activities. Most Windows Workflow Foundation (WF) activities that you place in this
container have two additional properties: Current Item and Property to Bind. For
each activity within the loop container, set these properties as follows:

1. Set Current Item to the Current Item property of the Loop Container activity
of the ForEach activity. If this activity is the first activity in the For Each Loop
activity, Current Item is set automatically.

2. Set the value of the Property to Bind property to the value of the property of
the current activity that uses the Current Item value.

Two types of activities don't get the Current Item and Property to Bind properties and
therefore can't use the objects in the input collection:
Script activities, such as the Windows PowerShell Script activity.

Custom activities or other activities that don't inherit from the


WorkflowActivityBase class. Such activities include those activities that are based
on the Activity base class, such as native Visual Studio activities.

Design time prerequisites Run time prerequisites

None None

Properties

The For Each Loop activity uses the input properties that are described in the following
table.

Display Internal name Type Required Description


name

Input InputCollection Array/Object N/A A collection of objects to be passed,


Collection one at a time, to the activities within
the For Each Loop activity. If the
activity that resides in the input
container produces an array of objects
as its output property, Input Collection
is automatically set to that property. To
view the current value of this property,
right-click the loop container, and
select Properties.

Current CurrentItem Object N/A An index into Input Collection that


Item activities within the loop can use as an
input property. For the first activity in
the loop container, this property is set
automatically.

Errors and exceptions Remarks Example


Errors and exceptions Remarks Example

The For Each Loop activity uses the custom tracking service that is None None
supplied by Service Manager to log errors and exceptions when the
activity runs. The activity generates errors or exceptions under the
following conditions:

- If any error occurs in the ForEachLoop activity and that isn't with the
child activities, the workflow terminates.
- If any error occurs within the child activities, the workflow terminates
unless ContinueOnError=true.
- If any of the input properties are null. The activity doesn't iterate.

Each activity within the For Each Loop activity must write its own errors or
exceptions to the custom tracking service. The For Each Loop activity
doesn't do so itself.

IfElse activity
This activity controls the sequence of activities within a workflow based on a Boolean
(True/False) condition. You can use the outcome of a previous activity, such as a script
activity, for the condition.

The IfElse activity is a Visual Studio activity that uses rules and conditions. For more
information about using rules and conditions in Windows Workflow Foundation (WF),
see Tutorial: Use Rules and Conditions in WF in the MSDN Library.

Design time prerequisites Run time prerequisites

None None

Properties

None.

Errors and Remarks Example


exceptions

None For more information about the IfElse activity, see IfElseActivity Class None
in the .NET Framework 4 Class Library.

Parallel activity
This activity forks the sequence of activities into two simultaneous sequences of
activities. The Parallel activity is a Visual Studio activity. For more information about the
ParallelActivity class, see ParallelActivity Class in the .NET Framework Class Library.

Design time prerequisites Run time prerequisites

None None

Properties
None.

Errors and exceptions Remarks Example

None None None

Virtual Machine Manager activities


Use virtual machine management activities in Service Manager to build workflows that
allow for creating and updating virtual machines. The virtual machine management
activities support System Center Virtual Machine Manager.

The Service Manager Authoring Tool provides the following five default virtual machine
management activities in the VMM Activities group in the Activities Toolbox pane.

Get VM activity
This activity in Service Manager retrieves a list of one or more virtual machine IDs from a
Virtual Machine Manager (VMM) Library.

Design time Run time prerequisites


prerequisites

None - The Virtual Machine Manager console and Service Manager must both be
installed on the same server.
- Ensure that the Service Manager Workflow account has sufficient permissions to
modify security groups in Active Directory Domain Services (AD DS).
- The Virtual Machine Manager console and Service Manager must both be
installed on the same server.
- Ensure that the Service Manager Workflow account has sufficient permissions to
modify security groups in Active Directory Domain Services (AD DS).
Properties
The Get VM activity uses the input properties in the following table.

Display Internal name Type Required Description


name

Parameter ParameterSet String No; the Specifies a subset of


Set default is parameters organized for a
Connection. particular purpose. For the Get
VM activity, you can select one
of the following parameter
sets:

- All: Search for all the


available virtual machines.
- ID: Search for a virtual
machine with a known ID.
- Connection: Search for virtual
machines that are connected
to the Virtual Machine
Manager (VMM) server that is
designated by the VMMServer
property.
- VMHostGroup: Search for
virtual machines that are
connected to the virtual
machine host that is
designated by the VM Host
property.

Continue On ContinueOnError Boolean No. (The Determines whether the


Error default setting workflow should continue
is True.) running if the activity fails.

Has Error HasError N/A Specifies if the activity has an


error set. (Read-only)

All All Boolean No. (The Available if the Parameter Set


default setting is All. If it's set to True, the Get
is True.) VM activity returns a list of the
virtual machine IDs of all of the
available virtual machines.
Display Internal name Type Required Description
name

ID ID String Required if Available if the Parameter Set


Parameter Set is ID. If it's set to True, the Get
is ID. VM activity returns a list of the
virtual machine IDs of all of the
virtual machines whose virtual
machine IDs match all or part
of the specified ID value.

Management ManagementGroup String No Specifies the management


Group group in which this activity will
run. Set to localhost. (Read-
only)

Script Server Target String Yes Specifies the Domain Name


System (DNS) name of the
server that runs the Service
Manager console. Don't use
localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum


Limit default setting number of seconds to allow for
is 300 the activity to run.
seconds.)

VM Host VMHost String Required if the Available if the Parameter Set


Parameter Set is VMHostGroup. If this
is parameter set is selected, the
VMHostGroup Get VM activity returns a list of
the virtual machine IDs of all
the virtual machines running
on the specified host.

VM Name VMName String No Specifies the name or part of a


name of the virtual machine to
search for. If the string is part
of a name, the activity retrieves
the IDs of all the virtual
machines that contain the
string.

VMMServer VMMServer String Yes Specifies the name of the


System Center Virtual Machine
Manager (VMM) server that
manages the virtual machines.

The Get VM activity generates the output that is described in the following table.
Display Internal Type Comments
name name

VM IDs VMIDList Array of Specifies the list of the IDs of virtual machines with names that
strings match all or part of the VM Name string.

Errors and exceptions Remarks Example

The Get VM activity uses the custom tracking service that is supplied by None None
Service Manager to log errors and exceptions when the activity runs. The
activity generates errors or exceptions as appropriate if any of the script
properties can't be resolved.

Move VM activity
This activity in Service Manager moves a virtual machine from the Virtual Machine
Manager (VMM) Library to a maintenance host.

Design time Run time prerequisites


prerequisites

None - The Virtual Machine Manager console and Service Manager must both be
installed on the same server.
- Ensure that the Service Manager Workflow account has sufficient permissions to
modify security groups in Active Directory Domain Services (AD DS).

Properties
The Move VM activity uses the input properties in the following table.

Display name Internal name Type Required Description

Continue On ContinueOnError Boolean No. (The Determines whether the workflow


Error default should continue running if the
setting is activity fails.
True.)

Has Error HasError N/A Specifies whether the activity has


an error set. (Read-only)

Block LM If BlockLMIfHostBusy Boolean No. (The Blocks retrying a Hyper-V live


Host Busy default migration if the migration failed
setting is because the source host or the
False.) destination host is already
participating in another live
migration.
Display name Internal name Type Required Description

Job Group JobGroup Guid No Specifies an identifier for a series


(string) of commands that will run as a
set.

Job Variable JobVariable String No Specifies that job progress is


tracked and stored in the variable
named by this parameter.

Management ManagementGroup String No Specifies the management group


Group in which this activity will run. Set
to localhost. (Read-only)

Path Path String No Specifies the destination of the


virtual machine on the
maintenance host.

PROTipID PROTipID Guid No Specifies the ID of the


Performance and Resource
Optimization (PRO) tip that
triggered this action. Allows for
future auditing of PRO tips.

Run RunAsynchronously Boolean No. (The Specifies that the job runs
Asynchronously default asynchronously so that control
setting is returns to the command shell
False.) immediately.

Script Server Target String Yes Specifies the Domain Name


System (DNS) name of the server
that runs the Service Manager
console. Don't use localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)

Start VM On StartVMOnTarget Boolean No. (The Specifies that a virtual machine


Target default starts as soon as it reaches its
setting is destination host.
False.)

Use Cluster UseCluster Boolean No. (The Forces the use of Windows Server
default 2008 Cluster Migration for the
setting is transfer of a virtual machine that
False.) is in a saved state to a host, even
if the cluster supports Hyper-V
live migration.
Display name Internal name Type Required Description

Use LAN UseLan Boolean No. (The Forces a transfer over the local
default area network (LAN) even if a
setting is faster transfer mechanism, such
False.) as a storage area network (SAN)
transfer, is available.

VM Host VMHostName String Yes Specifies the name of the


maintenance host to which the
virtual machine will be moved.

VM ID VMID String Yes Specifies the unique ID of the


virtual machine to be moved.

VMM Server VMMServer String Yes Specifies the name of the System
Center Virtual Machine Manager
(VMM) server that manages the
virtual machines.

The Move VM activity generates the output that is described in the following table.

Display Internal Type Comments


name name

VM ID VMID String Specifies the unique ID of the virtual machine that was moved. The
input VM ID and the output VM ID are equal unless the activity
failed to find a virtual machine with a VM ID that matches the input
VM ID. In that case, the output VM ID is set to Null.

Errors and exceptions Remarks Example

The Move VM activity uses the custom tracking service that is supplied by None None
Service Manager to log errors and exceptions when the activity runs. The
activity generates errors or exceptions as appropriate if any of the script
properties can't be resolved.

Shutdown VM activity
This activity in Service Manager shuts down the guest operating system on a virtual
machine.

You can use the Shutdown VM activity on a virtual machine on a Windows-based host
(a Hyper-V host or a Virtual Server host) only if virtualization guest services are installed
on the virtual machine. For a virtual machine that is deployed on a Hyper-V host, the
virtualization guest service is called Integration Components. For a virtual machine that
is deployed on a Virtual Server host, the virtualization guest service is called Virtual
Machine Additions.

Design time Run time prerequisites


prerequisites

None - The Virtual Machine Manager console and Service Manager must both be
installed on the same server.
- Ensure that the Service Manager Workflow account has sufficient permissions to
modify security groups in Active Directory Domain Services (AD DS).

Properties

The Shutdown VM activity uses the input properties that are described in the following
table.

Display name Internal name Type Required Description

Continue On ContinueOnError Boolean No. (The Determines whether the workflow


Error default should continue running if the
setting is activity fails.
True.)

Has Error HasError N/A Specifies whether the activity has


an error set. (Read-only)

Job Variable JobVariable String No Specifies that job progress is


tracked and stored in the variable
that is named by this parameter.

Management ManagementGroup String No Specifies the management group


Group in which this activity will run. Set
to localhost. (Read-only)

PROTipID PROTipID Guid No Specifies the ID of the


Performance and Resource
Optimization (PRO) tip that
triggered this action. Allows for
future auditing of PRO tips.

Run RunAsynchronously Boolean No. (The Specifies that the job runs
Asynchronously default asynchronously so that control
setting is returns to the command shell
False.) immediately.
Display name Internal name Type Required Description

Script Server Target String Yes Specifies the Domain Name


System (DNS) name of the server
that runs the Service Manager
console. Don't use Localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)

VM ID VMID String Yes Specifies the unique ID of the


virtual machine to be shut down.

VMMServer VMMServer String Yes Specifies the name of the System


Center Virtual Machine Manager
(VMM) server that manages the
virtual machines.

The Shutdown VM activity generates the output that is described in the following table.

Display Internal Type Comments


name name

VM ID VMID String Specifies the unique ID of the virtual machine that was shut down.
The input VM ID and the output VM ID are equal unless the activity
failed to find a virtual machine with a VM ID that matches the input
VM ID. In that case, the output VM ID is set to Null.

Errors and exceptions Remarks Example

The Shutdown VM activity uses the custom tracking service that is None None
supplied by Service Manager to log errors and exceptions when the
activity runs. The activity generates errors or exceptions as appropriate if
any of the script properties can't be resolved.

Start VM activity
This activity in Service Manager starts a stopped or paused virtual machine.

Design time prerequisites Run time prerequisites

None None
Properties
The Start VM activity uses the input properties in the following table.

Display name Internal name Type Required Description

Continue On ContinueOnError Boolean No. (The Determines whether the workflow


Error default should continue running if the
setting is activity fails.
True.)

Has Error HasError N/A Specifies whether the activity has


an error set. (Read-only)

Job Variable JobVariable String No Specifies that job progress is


tracked and stored in the variable
that is named by this parameter.

Management ManagementGroup String No The management group in which


Group this activity will run. Set to
localhost. (Read-only)

PROTipID PROTipID Guid No Specifies the ID of the


Performance and Resource
Optimization (PRO) tip that
triggered this action. Allows for
future auditing of PRO tips.

Run RunAsynchronously Boolean No. (The Specifies that the job runs
Asynchronously default asynchronously so that control
setting is returns to the command shell
False.) immediately.

Script Server Target String Yes Specifies the Domain Name


System (DNS) name of the server
that runs the Service Manager
console. Don't use localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)

VM ID VMID String Yes Specifies the unique ID of the


virtual machine to be started.

VMMServer VMMServer String Yes Specifies the name of the System


Center Virtual Machine Manager
(VMM) server that manages the
virtual machines.
The Start VM activity generates the output that is described in the following table.

Display Internal Type Comments


Name Name

VM ID VMID String Specifies the unique ID of the virtual machine that was started. The
input VM ID and the output VM ID are equal unless the activity
failed to find a virtual machine with a VM ID that matches the input
VM ID. In that case, the output VM ID is set to Null.

Errors and exceptions Remarks Example

The Start VM activity uses the custom tracking service that is supplied by None None
Service Manager to log errors and exceptions when the activity runs. The
activity generates errors or exceptions, as appropriate, if any of the script
properties can't be resolved.

Save State VM activity


This activity in Service Manager saves the state of a virtual machine and then stops the
virtual machine.

Design time Run time prerequisites


prerequisites

None - The Virtual Machine Manager console and Service Manager must be both
installed on the same server.
- Ensure that the Service Manager Workflow account has sufficient permissions to
modify security groups in Active Directory Domain Services (AD DS).

Properties
The Save State VM activity uses the input properties that are described in the following
table.

Display name Internal name Type Required Description

Continue On ContinueOnError Boolean No. (The Determines whether the workflow


Error default should continue running if the
setting is activity fails.
True.)

Has Error HasError N/A Specifies whether the activity has


an error set. (Read-only)
Display name Internal name Type Required Description

Job Variable JobVariable String No Specifies that job progress is


tracked and stored in the variable
that is named by this parameter.

Management ManagementGroup String No Specifies the management group


Group in which this activity will run. Set
to localhost. (Read-only)

PROTipID PROTipID Guid No Specifies the ID of the


Performance and Resource
Optimization (PRO) tip that
triggered this action. Allows for
future auditing of PRO tips.

Run RunAsynchronously Boolean No. (The Specifies that the job runs
Asynchronously default asynchronously so that control
setting is returns to the command shell
False.) immediately.

Script Server Target String Yes Specifies the Domain Name


System (DNS) name of the server
that runs the Service Manager
console. Don't use localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)

VM ID VMID String Yes Specifies the unique ID of the


virtual machine to be saved.

VMM Server VMMServer String Yes Specifies the name of the System
Center Virtual Machine Manager
(VMM) server that manages the
virtual machines.

The Save State VM activity generates the output that is described in the following table.

Display Internal Type Comments


name name

VM ID VMID String Specifies the unique ID of the virtual machine that was saved. The
input VM ID and the output VM ID are equal unless the activity
failed to find a virtual machine with a VM ID that matches the input
VM ID. In that case, the output VM ID is set to Null.
Errors and exceptions Remarks Example

The Save State VM activity uses the custom tracking service that is None None
supplied by Service Manager to log errors and exceptions when the
activity runs. The activity generates errors or exceptions as appropriate if
any of the script properties can't be resolved.

Script activities
Use a script activity in Service Manager to run a script as part of a workflow.

Script activities run as a separate process from the workflows; however, they also run
under the security context of the Service Manager Workflow account.

The Service Manager Authoring Tool provides the following three default script activities
in the Generic Script Activities subgroup of the Script Activities group in the Activities
Toolbox pane.

Command Script activity


This activity runs a command-line script as part of a Windows Workflow Foundation
(WF) workflow.

Design time prerequisites Run time prerequisites

None None

Properties

The Command Script activity uses the input properties that are described in the
following table.

Display Internal name Type Required Description


name

Continue On ContinueOnError Boolean No. (The Determines whether


Error default the workflow should
setting is continue running if the
True.) activity fails.

Has Error HasError N/A Specifies whether the


activity has an error set.
(Read-only)
Display Internal name Type Required Description
name

Management ManagementGroupName String No Specifies the


Group management group to
which the script server
belongs. By default, this
is set to localhost.
(Read-only)

Script Parameters Dictionary Yes Specifies command-


Parameters <string,string> line switches or
switch/value pairs to be
passed into the script
when it runs.

Script Body ScriptBody String Yes Specifies the text of the


script itself.

Script Server Target String No Specifies the Domain


Name System (DNS)
name of the server that
runs the Service
Manager console.
Don't use localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum


Limit default number of seconds to
setting is allow for the script to
300 run.
seconds.)

Errors and exceptions Remarks Example

The Command Script activity uses the custom tracking service that is None None
supplied by Service Manager to log errors and exceptions when the
activity runs. The activity generates errors or exceptions as appropriate if
any of the script properties can't be resolved.

Windows PowerShell Script activity


This activity in Service Manager runs a Windows PowerShell script as part of a Windows
Workflow Foundation (WF) workflow.

Design time prerequisites Run time


prerequisites
Design time prerequisites Run time
prerequisites

The Windows PowerShell Script activity depends upon the following Windows
prerequisites at design time: PowerShell 2.0
- Windows PowerShell 2.0

Properties
The Windows PowerShell Script activity uses the input properties that are described in
the following table.

Display Internal name Type Required Description


name

Continue On ContinueOnError Boolean No. (The Determines whether


Error default the workflow should
setting is continue running if the
True.) activity fails.

Has Error HasError N/A Specifies whether the


activity has an error set.
(Read-only)

Management ManagementGroupName String No Specifies the


Group management group to
which the script server
belongs. By default, this
is set to localhost.
(Read-only)
Display Internal name Type Required Description
name

Script Parameters Dictionary Yes Specifies the


Parameters <string,string> name/value list of
parameters to be
passed into the script
when it runs.

You can set parameter


values to any of the
following management
pack references:

- $Target/...$
- $MPElement[...]
- $Data/...$. $Data
references are resolved
only at run time in the
parameters (not in the
script itself).

Using one of these


references as the only
value for a parameter
sets that parameter to
the XML string that
represents the input
data item (from
GetItemXML).

Script Body ScriptBody String Yes Specifies the text of the


script itself.

Snap-ins SnapIns String No Lists Windows


PowerShell snap-ins to
preload into the
runspace.

Script Server Target String No Specifies the Domain


Name System (DNS)
name of the server that
runs the Service
Manager console.
Don't use localhost.
Display Internal name Type Required Description
name

Script Time TimeoutSeconds Integer No. (The Specifies the maximum


Limit default number of seconds to
setting is allow for the script to
300 run.
seconds.)

Errors and exceptions Remarks Example

The Windows PowerShell Script activity uses the custom For more None
tracking service that is supplied by Service Manager to log information about
errors and exceptions when the activity runs. The activity Windows
generates errors or exceptions as appropriate if any of the script PowerShell, see
properties can't be resolved. Windows
PowerShell .

VBScript Script activity


This activity in Service Manager runs a VBScript script as part of a Windows Workflow
Foundation (WF) workflow.

Design time prerequisites Run time


prerequisites

The VBScript Script activity depends on the following prerequisites at None


design time:
None.

Properties

The VBScript Script activity uses the input properties that are described in the following
table.

Display Internal Name Type Required Description


Name

Continue On ContinueOnError Boolean No. (The Determines whether


Error default the workflow continues
setting is to run if the activity
True.) fails.
Display Internal Name Type Required Description
Name

Has Error HasError N/A Specifies whether the


activity has an error set.
(Read-only)

Management ManagementGroupName String No Specifies the


Group management group to
which the script server
belongs. (By default,
this is set to localhost)
(Read-only)

Script Parameters Dictionary Yes Provides the list of the


Parameters <string,string> standard switches and
any associated values
that this script uses
when it runs.

Script Body ScriptBody String Yes Specifies the text of the


script itself.

Script Server Target String No Specifies the Domain


Name System (DNS)
name of the server that
runs the Service
Manager console.
Don't use localhost.

Script Time TimeoutSeconds Integer No. (The Specifies the maximum


Limit default number of seconds to
setting is allow for the script to
300 run.
seconds.)

Errors and exceptions Remarks Example

The VBScript Script activity uses the custom tracking service that is None None
supplied by Service Manager to log errors and exceptions when the
activity runs. The activity generates errors or exceptions as appropriate if
any of the script properties can't be resolved.

Service Manager activities


Use Service Manager activities in Service Manager to make Service Manager functions
part of your workflow.
The Service Manager Authoring Tool provides the following four default Service
Manager activities in the SM Activities group in the Activities Toolbox pane.

Create Incident activity


This activity creates and populates an incident in Service Manager.

Design time prerequisites Run time prerequisites

None None

Properties
The Create Incident activity uses the input properties that are listed in the following
table.

Display Internal name Type Required Comments


name

Incident IncidentID String Yes Specifies the unique identifier who is


ID generated for the Incident object.

Action ActionLogComment String Yes Specifies the comment to include in


Log the Incident object's action log.
Comment

Affected AffectedUserDomain String Yes Specifies the name of the Domain


User Name System (DNS) domain of the
Domain primary user who is affected by the
incident.

Affected AffectedUserName String Yes Specifies the user name of the primary
User user who is affected by the incident.
Name

Category Category Integer Yes Specifies the type of incident, such as


Networking or Printing. The value is
the ID of enum. (Category -enum data
field)

Continue ContinueOnError Boolean No. (The Determines whether the workflow


On Error default should continue running if the activity
setting is fails.
true.)
Display Internal name Type Required Comments
name

Impact Impact Integer Yes Specifies the impact of the incident on


the affected user or users. The value is
the ID of enum. (Impact -enum data
type)

Source Source Integer No Specifies the source of information


about the incident, such as Phone or
E-mail. The value is the ID of enum.
(Source -enum data type field)

Summary Summary String Yes Specifies the summary text that


describes the incident.

Urgency Urgency Integer Yes Specifies the urgency of resolving the


incident. The value is the ID of enum.
(Urgency -enum data type field)

The Create Incident activity generates the output that is described in the following
table.

Name Type Comments

SM Incident System.WorkItem.Incident Returns the constructed incident class instance.

Errors and exceptions Remarks Example

None None None

Get Incident activity


This activity retrieves one or more incidents in Service Manager.

Design time prerequisites Run time prerequisites

None None

Properties
The Get Incident activity uses the input properties that are listed in the following table.

Display Internal name Type Required Comments


name
Display Internal name Type Required Comments
name

Affected AffectedUserDomain String No Specifies the name of the Domain


User Name System (DNS) domain of the
Domain primary user who is affected by the
incident.

Affected AffectedUserName String No Specifies the user name of the primary


User user who is affected by the incident.
Name

Category Category Integer No Specifies the type of incident, such as


Networking or Printing. The value is
the ID of enum. (Category -enum data
field)

Continue ContinueOnError Boolean No. (The Determines whether the workflow


On Error default is should continue running if the activity
true.) fails.

Incident IncidentID String No Specifies the unique identifier that is


ID generated for the incident object.

Search SearchType Integer? No Specifies the title of the search type


Type that is used with the activity.

Status Status Integer No Specifies the status of incident. The


value is the ID of enum. (Status -enum
data field)

Summary SummaryText String No Specifies the summary text that


Text describes the incident.

The Get Incident activity generates the output that is described in the following table.

Display Internal Type Comments


name name

SM SMIncidents Array of Specifies an array of incident


Incidents System.Workitem.Incident objects.

Errors and Remarks Example


exceptions

None The Get Incident activity has its own validator to perform error None
validation on input properties.
Update Incident activity
This activity in Service Manager saves property changes to one Service Manager
incident.

Design time prerequisites Run time prerequisites

None None

Properties

The Update Incident activity uses the input properties that are described in the
following table.

Display Internal name Type Required Description


name

Action ActionLogComment String No Specifies a comment


Log to include in the
Comment Incident object's
action log.

Affected AffectedUserDomain String No Specifies the name


User of the Domain Name
Domain System (DNS)
domain of the
primary user who is
affected by the
incident.

Affected AffectedUserName String No Specifies the user


User name of the primary
Name user who is affected
by the incident.

Category Category Integer No Specifies the type of


incident, such as
Networking or
Printing. The value is
the ID of enum.
(Category -enum
data type)

Continue ContinueOnError Boolean No. (The Determines whether


On Error default the workflow should
setting is continue running if
true.) the activity fails.
Display Internal name Type Required Description
name

Impact Impact Integer No Specifies the impact


of the incident on
the affected user or
users. The value is
the ID of enum.
(Impact -enum data
type)

Source Source Integer No Specifies the source


of information about
the incident, such as
Phone or E-mail. The
value is the ID of
enum. (Source -
enum data type)

Service SMIncident System.Workitem.Incident No The constructed


Manager incident class
Incident instance to be
updated.

Status Status Integer No Specifies the status


of the incident that
generated the
activity. The value is
the ID of enum.
(Status -enum data
type)

Summary Summary String No Specifies the


summary text that
describes the
incident.

Urgency Urgency Integer No Specifies the urgency


of resolving the
incident. The value is
the ID of enum.
(Urgency -enum
data type field)

The Update Incident activity generates the output that is described in the following
table.

Display Internal Type Description


name name
Display Internal Type Description
name name

SM SMIncident System.WorkItem.Incident Returns an update of the incident class


Incident instance. The input SM Incident and the
output SM Incident are equal unless the
activity failed to find the SM Incident. In that
case, the output SM Incident is set to Null.

Errors and exceptions Remarks Example

None None None

Set Activity Status to Completed activity


This activity updates the status of an automated activity in Service Manager.

Design time prerequisites Run time prerequisites

None None.

Properties

The Set Activity Status to Completed activity uses the input properties that are
described in the following table.

Display Internal Type Required Description


name name

Activity ID ActivityID String Yes Specifies the identifier of a Service Manager


automated activity object.

Errors and Remarks Example


exceptions

None When you're using this activity in a workflow that is triggered by a None
Service Manager automated activity, enter
$Data/BaseManagedEntityId$ as the value of this property. This value
applies to the Set Activity Status to Completed activity at the
automated activity that triggered the workflow to run.
Form control properties in the Service Manager
Authoring Tool
Article • 03/15/2023

The table in this article lists the properties of Service Manager form controls. This information can help you
customize and create forms in the Service Manager Authoring Tool.

Most properties of Service Manager forms are based on Windows Presentation Foundation (WPF)
properties, and other properties are defined by Service Manager. The following table provides details
about the WPF-based property groups and their respective properties, when they're applicable. For more
information about WPF properties, see System.Windows.Controls Namespace on MSDN.

Group Name Source WPF Details

Appearance Opacity WPF UIElement/Opacity

Visibility WPF UIElement/Visibility

Binding Binding Mode WPF Binding/Mode

Binding Path Service Binding/Path Binds the control dynamically to


Manager/WPF its displayed property.

The value it updated as it


changes.

The control and displayed


property types must match.
Example: the Binding Path
property type of a Date Picker
control must be Date.

Binds directly WPF Binding/BindsDirectlyToSource


to source

Date Date Format Service Manager N/A The date


format.
Example:"Full
date and
time",
"Short".

Drawing Source Path Service Manager N/A Image file


path in an
Image
control.

Stretch WPF Image/Stretch

Stretch WPF Viewbox/StretchDirection


Direction

Brush Background N/A N/A The


Brush background
color in the
control.
Group Name Source WPF Details

Foreground N/A N/A The foreground color in the


Brush control (text color).

Instance Instance Type Service Manager N/A The type of


the instance
in a Single
Instance
Picker
control. The
value is a
class, such as
Activity,
Computer,
or a custom
class.

Instance type Service N/A The internal name of the Instance


internal name Manager Type property.

Label Content WPF ContentControl/Content A fixed string


in the label.

Font Family WPF TextBlock/FontFamily

Font Size WPF TextBlock/FontSize

Font Style WPF TextBlock/FontStyle

Font Weight WPF TextBlock/FontWeight

Label Binding WPF Binding/Mode


Mode

Label Binding Service N/A Included in almost all controls.


Path Manager and Binds the control label to the
WPF property displayed by the
control.

Label binds WPF Binding/BindsDirectlyToSource


directly to
source

Layout Height WPF FrameworkElement/Height Can be set to


Auto or to
NaN,
allowing for
dynamic
adjustment
of size.

Horizontal WPF FrameworkElement/HorizontalAlignment


Alignment

Minimum WPF FrameworkElement/MinHeight Can be set to Auto or to NaN,


Height allowing for dynamic adjustment
of size.
Group Name Source WPF Details

Minimum WPF FrameworkElement/MinWidth Can be set to Auto or NaN,


Width allowing for dynamic size
adjustment

Vertical WPF FrameworkElement/VerticalAlignment


Alignment

Width WPF FrameworkElement/Width Can be set to Auto or to NaN,


allowing for dynamic adjustment
of size.

List List type Service Manager N/A The type of


existing or
custom list
that this
control
displays.

List type Service N/A The internal name of the List type
internal name Manager property.

Margin Bottom WPF Control/Bottom Can be set to


Auto or to
NaN,
allowing for
dynamic
adjustment
of size.

Left WPF Control/Left Can be set to Auto or to NaN,


allowing for dynamic adjustment
of size.

Right WPF Control/Right Can be set to Auto or to NaN,


allowing for dynamic adjustment
of size.

Top WPF Control/Top Can be set to Auto or to NaN,


allowing for dynamic adjustment
of size.

Miscellaneous Flow Direction WPF FrameworkElement/FlowDirection

Focusable WPF UIElement/Focusable

Is Enabled WPF UIElement/IsEnabled

Name WPF FrameworkElement/Name

Text Accepts the WPF TextBox/AcceptsReturn


Enter key

Content WPF ContentControl/Content

Font Family WPF TextBlock/FontFamily

Font Size WPF TextBlock/FontSize

Font Style WPF TextBlock/FontStyle


Group Name Source WPF Details

Font Weight WPF TextBlock/FontWeight

Horizontal WPF TextBox/HorizontalScrollBarVisibility


Scroll Bar
Visibility

Max Lines WPF TextBox/MaxLines

Text WPF TextBox/Text

Text Wrapping WPF TextBlock/TextWrapping

Vertical Scroll WPF TextBox/VerticalScrollBarVisibility


Bar Visibility
Languages supported by System Center
- Service Manager
Article • 08/22/2023

It's assumed in this article that you're installing System Center - Service Manager on a
computer where no previous version of Service Manager is installed.

Including English, Service Manager supports a total of 21 languages. Setting your


Windows locale on a computer that hosts a Service Manager console to one of the
supported languages results in Service Manager being displayed in that language. In
addition to the languages that Service Manager supports, you must also consider the
ability to search and sort data in the Service Manager databases. The ability to search
and sort data in a specific language is defined by the collation settings in Microsoft SQL
Server. Learn more about SQL Server support.

The information in the following table represents the approved collations and the locale
identifiers that were tested for Service Manager. In the list of collations in this table, CI
indicates case-insensitive and **AS"**indicates accent-sensitive.

Windows locale Collation

English Latin1_General_100_CI_AS

English SQL_Latin1_General_CP1_CI_AS

English Latin1_General_CI_AS

Chinese_PRC Chinese_Simplified_Pinyin_100_CI_AS

Chinese (Traditional, Taiwan) Chinese_Traditional_Stroke_Count_100_CI_AS

Czech (Czech Republic) Czech_100_CI_AS

Danish (Denmark) Danish_Norwegian_CI_AS

Dutch (Netherlands) Latin1_General_100_CI_AS

Finnish (Finland) Finnish_Swedish_100_CI_AS

French French_100_CI_AS

German_Standard Latin1_General_100_CI_AS

Greek (Greece) Greek_100_CI_AS

Hungarian Hungarian_100_CI_AS
Windows locale Collation

Italian_Standard Latin1_General_100_CI_AS

Japanese Japanese_XJIS_100_CI_AS

Korean Korean_100_CI_AS

Norwegian (Bokml, Norway) Norwegian_100_CI_AS

Polish (Poland) Polish_100_CI_AS

Portuguese (Brazil) Latin1_General_100_CI_AS

Portuguese (Portugal) Latin1_General_100_CI_AS

Russian Cyrillic_General_100_CI_AS

Spanish_Modern_Sort Modern_Spanish_100_CI_AS

Swedish (Sweden) Finnish_Swedish_100_CI_AS

Turkish (Türkiye) Turkish_100_CI_AS


Mapping Active Directory Domain
Services attributes to properties in
System Center - Service Manager
Article • 09/26/2023

Using an Active Directory connector, Service Manager synchronizes data with the User,
Group, Computer, and Printer Active Directory Domain Services (AD DS) objects. The
following tables describe the mapping between the attributes of the Active Directory
objects and the corresponding Service Manager class properties.

User/Microsoft.AD.User
The following table describes the mapping between the attributes of the Active
Directory User object and the Service Manager Microsoft.AD.User class properties.

Active Directory user attribute Microsoft.AD.User property

physicaldeliveryofficename Office

displayname displayname

company Company

employeeid Employeeid

department Department

telephonenumber BusinessPhone

homePhone HomePhone

facsimileTelephoneNumber Fax

mobile Mobile

pager Pager

mail Email

givenname FirstName

initials Initials

sn LastName
Active Directory user attribute Microsoft.AD.User property

distinguishedname Distinguishedname

title Title

manager manager

samaccountname UserName

l City

StreetAddress StreetAddress

st State

postalCode Zip

co Country

localeID Locale

msRTCSIP-PrimaryUserAddress SipAddress

objectSid SID

Domain Domain

Group/Microsoft.AD.UserBase
The following table describes the mapping between the attributes of the Active
Directory Group object and the Service Manager Microsoft.AD.UserBase class
properties.

Active Directory group attribute Microsoft.AD.UserBase property

displayname displayname

mail Email

distinguishedname Distinguishedname

samaccountname samaccountname

objectSid SID

Domain Domain

Printer/Microsoft.AD.Printer
The following table describes the mapping between the attributes of the Active
Directory PrintQueue object and the Service Manager Microsoft.AD.Printer class
properties.

Active Directory printer attribute Microsoft.AD.Printer property

uNCName uNCName

serverName serverName

shortServerName shortServerName

printerName printerName

printNetworkAddress printNetworkAddress

printShareName printShareName

isDeleted isDeleted

driverName driverName

driverVersion driverVersion

printMemory printMemory

printCollate printCollate

printOwner printOwner

assetNumber assetNumber

managedBy managedBy

printDuplexSupported printDuplexSupported

printColor printColor

printStaplingSupported printStaplingSupported

versionNumber versionNumber

url url

printMediaSupported printMediaSupported

printRateUnit printRateUnit

printMaxXExtent printMaxXExtent

printKeepPrintedJobs printKeepPrintedJobs

printRate printRate
Active Directory printer attribute Microsoft.AD.Printer property

printMediaReady printMediaReady

printPagesPerMinute printPagesPerMinute

printMaxResolutionSupported printMaxResolutionSupported

printMACAddress printBinNames

printMACAddress printMACAddress

portName portName

physicalLocationObject physicalLocationObject

keywords keywords

printNotify printNotify

wWWHomePage wWWHomePage

whenChanged whenChanged

modifyTimeStamp modifyTimeStamp

location location

canonicalName canonicalName

displayname displayname

cn Fullname

distinguishedname Distinguishedname

description description

Computer/Microsoft.Windows.Computer
The following table describes the mapping between the attributes of the Active
Directory Computer object and the Service Manager Microsoft.Windows.Computer
class properties.

Active Directory computer attribute Microsoft.Windows.Computer property

msDS-SiteName ActiveDirectorySite

dNSHostName DNSName
Active Directory computer attribute Microsoft.Windows.Computer property

ipHostNumber IPAddress

networkAddress NetworkName

msDS-PrincipalName PrincipalName

displayname displayname

samaccountname NetbiosComputerName

objectSid ActiveDirectoryObjectSid

ou OrganizationalUnit

Domain NetbiosDomainName
Mapping System Center - Service Manager properties to
Configuration Manager database views
Article • 03/15/2023

The hardware inventory feature in Configuration Manager gathers information about computers in the organization. In Service Manager, by
using a Configuration Manager Connector, you can import that hardware inventory data from Configuration Manager. The tables in this
appendix describe the mapping between Service Manager properties and column names of Configuration Manager database views.

Microsoft.SystemCenter.ConfigurationManager.DeployedComputer
The following table describes the mapping for the Microsoft.SystemCenter.ConfigurationManager.DeployedComputer type.

Service Manager type Service Manager Column name of Configuration Manager database views
property

System.Entity DisplayName SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Name0

Microsoft.SystemCenter.ConfigurationManager.DeployedComputer HardwareID [Key] SCCM.Ext.vex_R_System.Hardware_ID0

SMBIOS_UUID SCCM.Ext.vex_R_System.SMBIOS_GUID0

SMBIOSAssetTag SCCM.Ext.vex_GS_SYSTEM_ENCLOSURE.SMBIOSAssetTag0

Manufacturer SCCM.Ext.vex_GS_SYSTEM_ENCLOSURE.Manufacturer0

Model SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Model0

NumberOfProcessors SCCM.Ext.vex_GS_COMPUTER_SYSTEM.NumberOfProcessors0

SystemType SCCM.Ext.vex_GS_COMPUTER_SYSTEM.SystemType0

ChassisType SCCM.Ext.vex_GS_SYSTEM_ENCLOSURE.ChassisTypes0

SerialNumber If SCCM.Ext.vex_GS_SYSTEM_ENCLOSURE.SerialNumber0 is
NULL, '00000000' or 'Not Available', then
SCCM.Ext.vex_GS_PC_BIOS.SerialNumber0, else
SCCM.Ext.vex_GS_SYSTEM_ENCLOSURE.SerialNumber0

Microsoft.Windows.Computer
The following table describes the mappings for the Microsoft.Windows.Computer type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.Entity DisplayName SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Name0

Microsoft.Windows.Computer PrincipalName (FQDN) [Key] Constructed using SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Name0 or


SCCM.Ext.vex_R_System.Netbios_Name0 and
SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Domain0 or
SCCM.Ext.vex_R_System.Resource_Domain_OR_Workgr0. If
SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Name0 is null,
SCCM.Ext.vex_R_System.Netbios_Name0 is used as name. If
SCCM.Ext.vex_GS_COMPUTER_SYSTEM.Domain0 is null,
SCCM.Ext.vex_R_System.Resource_Domain_OR_Workgr0 is used as domain.

NetbiosComputerName SCCM.Ext.vex_R_System.Netbios_Name0

NetbiosDomainName SCCM.Ext.vex_R_System.Resource_Domain_OR_Workgr0

OffsetInMinuteFromGreenwichTime SCCM.Ext.vex_GS_Computer_System.CurrentTimeZone0

IsVirtualMachine SCCM.Ext.vex_GS_Computer_System.Model0, vex_GS_Manufacturer, that is, Model0 =


"Virtual Machine" or "VMware Virtual Platform" OR Manufacturer="Microsoft
Corporation" or "VMware, Inc"

ActiveDirectorySite SCCM.Ext.vex_R_System.AD_Site_Name0

LastInventoryDate SCCM.Ext.Vex_GS_Workstation_Status.LastHWScan
Microsoft.Windows.OperatingSystem
The following table describes the mappings for the Microsoft.Windows.OperatingSystem type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.Entity DisplayName SCCM.Ext.vex_GS_OPERATING_SYSTEM.Caption0

Microsoft.Windows.OperatingSystem OSVersion SCCM.Ext.vex_GS_OPERATING_SYSTEM.Version0

BuildNumber SCCM.Ext.vex_GS_OPERATING_SYSTEM.BuildNumber0

CSDVersion SCCM.Ext.vex_GS_OPERATING_SYSTEM.CSDVersion0

InstallDate SCCM.Ext.vex_GS_OPERATING_SYSTEM.InstallDate0

SystemDrive SCCM.Ext.vex_GS_OPERATING_SYSTEM.SystemDirectory0

WindowsDirectory SCCM.Ext.vex_GS_OPERATING_SYSTEM.WindowsDirectory0

PhysicalMemory SCCM.Ext.vex_GS_OPERATING_SYSTEM.TotalVisibleMemorySize0

LogicalProcessors SCCM.Ext.vex_GS_COMPUTER_SYSTEM.NmberOfProcessors0

CountryCode SCCM.Ext.vex_GS_OPERATING_SYSTEM.CountryCode0

Locale SCCM.Ext.vex_GS_OPERATING_SYSTEM.Locale0

Manufacturer SCCM.Ext.vex_GS_OPERATING_SYSTEM.Manufacturer0

OSLanguage SCCM.Ext.vex_GS_OPERATING_SYSTEM.OSLanguage0

MinorVersion SCCM.Ext.vex_GS_OPERATING_SYSTEM.Version0

MajorVersion SCCM.Ext.vex_GS_OPERATING_SYSTEM.Version0

Microsoft.Windows.Peripherals.LogicalDisk
The following table describes the mappings for the Microsoft.Windows.Peripherals.LogicalDisk type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.Entity DisplayName SCCM.Ext.vex_GS_LOGICAL_DISK.Name0

Microsoft.Windows.LogicalDevice DeviceID [Key] SCCM.Ext.vex_GS_LOGICAL_DISK.DeviceID0

Name SCCM.Ext.vex_GS_LOGICAL_DISK.Name0

Description SCCM.Ext.vex.GS_LOGICAL_DISK.Description0

Microsoft.Windows.LogicalDisk VolumeName SCCM.Ext.vex_GS_LOGICAL_DISK.VolumeName0

Microsoft.Windows.Peripherals.LogicalDisk FileSystem SCCM.Ext.vex_GS_LOGICAL_DISK.FileSystem0

Compressed SCCM.Ext.vex_GS_LOGICAL_DISK.Compressed0

Size SCCM.Ext.vex_GS_LOGICAL_DISK.Size0

DriveType SCCM.Ext.vex_GS_LOGICAL_DISK.DriveType0

FreeSpace SCCM.Ext.vex_GS_LOGICAL_DISK.FreeSpace0

Microsoft.Windows.Peripherals.PhysicalDisk
The following table describes the mappings for the Microsoft.Windows.Peripherals.PhysicalDisk type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.Entity DisplayName SCCM.Ext.vex_GS_DISK.Name0

Microsoft.Windows.LogicalDevice DeviceID [Key] SCCM.Ext.vex_GS_DISK.DeviceID0

Name SCCM.Ext.vex_GS_DISK.Name0

Description SCCM.Ext.vex.GS_DISK.Description0
Service Manager type Service Manager property Column name of Configuration Manager database views

Microsoft.Windows.PhysicalDisk MediaType SCCM.Ext.vex.GS_DISK.MediaType0

PNPDeviceID SCCM.Ext.vex.GS_DISK.PNPDeviceID0

Microsoft.Windows.Peripherals.PhysicalDisk Caption SCCM.Ext.vex.GS_DISK.Description0

Index SCCM.Ext.vex.GS_DISK.Index0

InterfaceType SCCM.Ext.vex.GS_DISK.InterfaceType0

Manufacturer SCCM.Ext.vex.GS_DISK.Manufacturer0

Model SCCM.Ext.vex.GS_DISK.Model0

SCSIBus SCCM.Ext.vex.GS_DISK.SCSIBus0

SCSILogicalUnit SCCM.Ext.vex.GS_DISK.SCSILogicalUnit0

SCSIPort SCCM.Ext.vex.GS_DISK.SCSIPort0

SCSITargetID SCCM.Ext.vex.GS_DISK.TargetId0

Size SCCM.Ext.vex.GS_DISK.Size0

TotalCylinders SCCM.Ext.vex.GS_DISK.TotalCylinders0

TotalHeads SCCM.Ext.Vex.GS_DISK.TotalHeads0

TotalSectors SCCM.Ext.vex.GS_DISK.TotalSectors0

TotalTracks SCCM.Ext.vex.GS_DISK.TotalTracks0

TracksPerCylinder SCCM.Ext.vex.GS_DISK.TracksPerCylinder0

Microsoft.Windows.Peripherals.Processor
The following table describes the mappings for the Microsoft.Windows.Peripherals.Processor type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.Entity DisplayName SCCM.Ext.vex_GS_PROCESSOR.Name0

Microsoft.Windows.LogicalDevice DeviceID [Key] SCCM.Ext.vex_GS_PROCESSOR.DeviceID0

Name SCCM.Ext.vex_GS_PROCESSOR.Name0

Description SCCM.Ext.vex.GS_PROCESSOR.Name0

Microsoft.Windows.Processor Family SCCM.Ext.vex.GS_PROCESSOR.Family0

MaxClockSpeed SCCM.Ext.vex.GS_PROCESSOR.MaxClockSpeed0

Type SCCM.Ext.vex.GS_PROCESSOR.ProcessorType0

BrandID SCCM.Ext.vex.GS_PROCESSOR.BrandID0

PCache SCCM.Ext.vex.GS_PROCESSOR.PCache0

CPUKey SCCM.Ext.vex.GS_PROCESSOR.CPUKey0

IsMobile (bool) SCCM.Ext.vex.GS_PROCESSOR.IsMobile0

IsMultiCore (bool) SCCM.Ext.vex.GS_PROCESSOR.IsMulticore0

Microsoft.Windows.Peripherals.Processor Manufacturer SCCM.Ext.vex.GS_PROCESSOR.Manufacturer0

Speed SCCM.Ext.vex.GS_PROCESSOR.NormSpeed0

DataWidth SCCM.Ext.vex.GS_PROCESSOR.DataWidth0

Revision SCCM.Ext.vex.GS_PROCESSOR.Revision0

Version SCCM.Ext.vex.GS_PROCESSOR.Version0

Microsoft.Windows.Peripherals.NetworkAdapter
The following table describes the mappings for the Microsoft.Windows.Peripherals.NetworkAdapter type.

Service Manager type Service Manager property Column name of Configuration Manager Database Views

System.Entity DisplayName SCCM.Ext.vex_GS_NETWORK_ADAPTER.Name0

Microsoft.Windows.LogicalDevice DeviceID [Key] SCCM.Ext.vex_GS_NETWORK_ADAPTER.DeviceID0

Name SCCM.Ext.vex_GS_NETWORK_ADAPTER.Name0

Description SCCM.Ext.vex.GS_NETWORK_ADAPTER.Description0

Microsoft.Windows.NetworkAdapter Bandwidth SCCM.Ext.vex.GS_NETWORK_ADAPTER.Speed0

MaxSpeed (int) SCCM.Ext.vex.GS_NETWORK_ADAPTER.MaxSpeed0

ProductName SCCM.Ext.vex.GS_NETWORK_ADAPTER.ProductName0

DefaultIPGateway SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.DefaultIPGateway0

DHCPHostName SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.DHCPServer

IPEnabled SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.IPEnabled0

Microsoft.Windows.Peripherals.NetworkAdapter AdapterType SCCM.Ext.vex.GS_NETWORK_ADAPTER.AdapterType0

Index SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.Index0

Manufacturer SCCM.Ext.vex.GS_NETWORK_ADAPTER.Manufacturer0

MACAddress SCCM.Ext.vex.GS_NETWORK_ADAPTER.MACAddress0

ServiceName SCCM.Ext.vex.GS_NETWORK_ADAPTER.ServiceName0

DHCPEnabled SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.DHCPEnabled0

DHCPServer SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.DHCPServer0

DNSDomain SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.DNSDomain0

IPAddress SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0

IPSubnet SCCM.Ext.vex.GS_NETWORK_ADAPTER_CONFIGUR.IPSubnet0

System.DeviceHasSoftwareItemInstalled
The following table describes the mappings for the System.DeviceHasSoftwareItemInstalled type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.Entity DisplayName SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.ProductName0

System.SoftwareItem ProductName [Key] SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.ProductName0

Publisher [Key] SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.Publisher0

VersionString [Key] SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.ProductVersion0

MajorVersion SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.VersionMajor0

MinorVersion SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.VersionMinor0

LocaleID SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.Language0

System.DeviceHasSoftwareItemInstalled InstalledDate SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.InstalledDate0

InstalledPath SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.InstalledLocation0

SerialNumber SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.ProductID0

IsVirtualApplication SCCM.Ext.Vex_GS_INSTALLED_SOFTWARE.InstallType

System.DeviceHasSoftwareUpdateInstalled
The following table describes the mappings for the System.DeviceHasSoftwareUpdateInstalled type.
Service Manager type Service Manager property Column name of Configuration Manager database views

System.SoftwareUpdate Vendor [Key] SCCM.Ext.vex_LocalizedCategoryInstances.CategoryInstanceName

Title [Key] SCCM.Ext.vex_LocalizedCIProperties.DisplayName

Microsoft.Windows.SoftwareUpdate ArticleID SCCM.Ext.vex_UpdateCIs.ArticleID

BulletinID SCCM.Ext.vex_UpdateCIs.BulletinID

SupportString SCCM.Ext.vex_LocalizedCIProperties.CIInformativeURL

Classification SCCM.Ext.vex_LocalizedCategoryInstances.CategoryInstanceName

System.DeviceHasSoftwareUpdateInstalled InstallStatus SCCM.Ext.vex_UpdateComplianceStatus.Status

Microsoft.SystemCenter.ConfigurationManager.DCM_CI
The following table describes the mappings for the Microsoft.SystemCenter.ConfigurationManager.DCM_CI type.

Service Manager type Service Manager property Column name of Configuration Manager database views

Microsoft.SystemCenter.ConfigurationManager.DCM_CI DisplayName SCCM.Ext.vex_LocalizedCIProperties.DisplayName

UniqueID [Key] SCCM.Ext.vex_ConfigurationItems.CI_UniqueID

Description SCCM.Ext.vex_LocalizedCIProperties.Description

IsBaseline SCCM.Ext.vex_ConfigurationItems.CIType_ID

Microsoft.SystemCenter.ConfigurationManager.DCM_NoncompliantCI
The following table describes the mappings for the Microsoft.SystemCenter.ConfigurationManager.DCM_NoncompliantCI type.

Service Manager type Service Manager property Column name of Configuration Manager database views

Microsoft.SystemCenter.ConfigurationManager.DCM_NoncompliantCI UniqueID [Key] SCCM.Ext.vex_ConfigurationItems.CI_UniqueID

Baseline_UniqueID [Key] SCCM.Ext.vex_ConfigurationItems.CI_UniqueID

MaxNonComplianceCriticality SCCM.Ext.vex_CICurrentComplianceStatus.MaxNoncompliance
[Key]

System.Domain.User
The following table describes the mappings for the System.Domain.User type.

Configuration Manager class Configuration Manager database value Service Manager property

System.Domain.User Domain [Key] Parse SCCM_Ext.vex_GS_SYSTEM_CONSOLE_USER

UserName [Key] Parse SCCM_Ext.vex_GS_SYSTEM_CONSOLE_USER

Microsoft.SystemCenter.ConfigurationManagergr.CollectionInf
The following table describes the mapping for the Microsoft.SystemCenter.ConfigurationManagergr.CollectionInf type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.ConfigItem DisplayName SCCM_Ext.vex_Collection.CollectionName

Microsoft.SystemCenter.ConfigurationManagergr.CollectionInf Count Count of computers in collection

CollID [Key] SCCM_Ext.vex_Collection.CollID

CollectionName SCCM_Ext.vex_Collection.CollectionName

CollectionID SCCM_Ext.vex_Collection.CollectionID
Microsoft.ConfigMgr.SoftwarePackage
The following table describes the mapping for the Microsoft.ConfigMgr.SoftwarePackage type.

Service Manager type Service Manager property Column name of Configuration Manager database views

System.ConfigItem DisplayName SCCM_Ext.vex_Package.Name

Microsoft.ConfigMgr.SoftwarePackage ID [Key] SCCM_Ext.vex_Package.PackageID

Version SCCM_Ext.vex_Package.Version

Language SCCM_Ext.vex_Package.Language

Manufacturer SCCM_Ext.vex_Package.Manufacturer

Description SCCM_Ext.vex_Package.Description
Registry keys used by Service Manager
Article • 08/22/2023

U Caution

Incorrectly editing the registry can severely damage your system. Before making changes to the registry, you should back
up any valued data on the computer.

Service Manager stores many settings in the registry. You seldom have to edit the registry yourself, because most of those
settings are derived from entries that you make in day-to-day use. However, some changes to settings might occasionally be
required. Service Manager stores most registry values in the following locations:

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Manager\Console

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center<version>

Service Manager console registry keys


The keys in this section are used to manage the Service Manager console for the Service Manager console user. These keys are
found in the HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Manager\Console directory.

Key Description and value

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The navigation pane is expanded when the value is set to 1 and not
Manager\Console\ConsoleDisplaySettings\NavigationPaneExpanded expanded when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the navigation pane width, limited to display resolution.
Manager\Console\ConsoleDisplaySettings\NavigationPaneWidth

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The Tasks pane is expanded when the value is set to 1, and not
Manager\Console\ConsoleDisplaySettings\TasksPaneExpanded expanded when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the Tasks pane width, limited to display resolution.
Manager\Console\ConsoleDisplaySettings\NaN

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service High Contrast is enabled when the value is set to 1, and not enabled
Manager\Console\ConsoleDisplaySettings\ForceHighContrast when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The Service Manager console is maximized when the value is set to 1,
Manager\Console\ConsoleWindowSettings\IsConsoleMaximized and not maximized when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the top left corner of the Service Manager console
Manager\Console\ConsoleWindowSettings\ConsoleLocation\X horizontal coordinate.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the bottom left corner of the Service Manager console
Manager\Console\ConsoleWindowSettings\ConsoleLocation\Y vertical coordinate.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the height of the Service Manager console, limited to display
Manager\Console\ConsoleWindowSettings\ConsoleSize\Height resolution.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the width of the Service Manager console, limited to display
Manager\Console\ConsoleWindowSettings\ConsoleSize\Width resolution.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The Service Manager console navigation pane is visible when the
Manager\Console\SmConsoleDisplaySettings\NavigationPaneVisible value is set to 1 and hidden when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The Service Manager consoleTasks pane is visible when set to 1 and
Manager\Console\SmConsoleDisplaySettings\TasksPaneVisible hidden when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Depending on the value, the corresponding workspace is selected in


Manager\Console\SmConsoleDisplaySettings\ SelectedWunderBarIndex the Service Manager console. Administration = 0, Library = 1, Work
Items = 2, Configuration Items = 3, Data Warehouse = 4, Reporting
= 5. Values higher than 5 correspond to any custom workspaces that
are added to the Service Manager console.
Key Description and value

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The value for the key is the last view that the user selected before
Manager\Console\SmConsoleDisplaySettings\NavigationModelNodeLocation closing the Service Manager console, so that when the Service
Manager console reopens, it reopens in this view.
msscnav://root/Windows/Window/ConsoleDisplay/Folder.f837da16-
dc5d-7a25-1b48-c62eb5965806/Folder.8afcc5db-910c-35a0-700f-
fd9a94b4169b/View.fbf52403-7ce7-05c4-0ca9-7c61030e5f57 is an
example value.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the height of the details pane.


Manager\Console\ViewDisplaySettings\ DetailPaneHeight

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service The Service Manager console details pane is visible when the value is
Manager\Console\ViewDisplaySettings\ DetailPaneExpanded set to 1 and hidden when the value is set to 0.

HKEY_CURRENT_USER\Software\Microsoft\System Center<version>\Service Specifies the name of the server that the Service Manager console is
Manager\Console\User Settings\ SDKServiceMachine connected to.

Service Manager registry keys


Keys in this section are used to manage functions that are internal to Service Manager.

Key Description and values

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Specifies the group change check


Center<version>\Common\GroupCalcPollingIntervalMilliseconds interval in milliseconds.
Set an activity's status to completed for
the Service Manager Authoring Tool
sample activity
Article • 09/26/2023

See the following sample activity in Service Manager that sets an activity's status to
complete.

using System;
using System.Linq;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Workflow.Runtime;
using System.Collections.Generic;
using System.Workflow.Activities;
using System.ComponentModel.Design;
using Microsoft.EnterpriseManagement;
using System.Workflow.ComponentModel;
using System.Workflow.Activities.Rules;
using System.Workflow.ComponentModel.Design;
using Microsoft.EnterpriseManagement.Common;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using Microsoft.EnterpriseManagement.Configuration;
using Microsoft.EnterpriseManagement.Configuration.IO;
using Microsoft.EnterpriseManagement.Workflow.Common;

namespace Microsoft.ServiceManager.WorkflowAuthoring.ActivityLibrary
{
// ---------------------------------------------------------------------
-----------
/// <summary>
/// Activity to set an activity's status to complete
/// </summary>
// ---------------------------------------------------------------------
-----------
[ToolboxItem(typeof(ActivityToolboxItem))]

[ActivityValidator(typeof(Validators.SetActivityStatusToCompletedValidator))
]
[Designer(typeof(WorkflowActivityBaseDesigner))]
public sealed partial class SetActivityStatusToCompleted :
WorkflowActivityBase
{
// -----------------------------------------------------------------
---------------
/// <summary>
/// Dependency Property for ActivityId property
/// </summary>
// -----------------------------------------------------------------
---------------
public static DependencyProperty ActivityIdProperty =
DependencyProperty.Register("ActivityId", typeof(String),
typeof(SetActivityStatusToCompleted));

// -----------------------------------------------------------------
---------------
/// <summary>
/// Activity ID
/// </summary>
// -----------------------------------------------------------------
---------------
[Browsable(true)]

[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public string ActivityId
{
get
{
return (string)this.GetValue(ActivityIdProperty);
}
set
{
this.SetValue(ActivityIdProperty, value);
}
}

// -----------------------------------------------------------------
---------------
/// <summary>
/// The execute method will have the implementation to set the
activity status to complete.
/// </summary>
// -----------------------------------------------------------------
---------------
protected override ActivityExecutionStatus
Execute(ActivityExecutionContext executionContext)
{
try
{
// Initialize the current item if the activity contained
within the For-Each loop
base.Execute(executionContext);

// Validate Parameters
if (String.IsNullOrEmpty(ActivityId))
{
throw new ArgumentNullException("ActivityId");
}

string SMServer = "localhost";


Guid TaskGuid = new Guid(ActivityId);
EnterpriseManagementGroup _mg = new
EnterpriseManagementGroup(SMServer);

EnterpriseManagementObject Activity =
_mg.EntityObjects.GetObject
<EnterpriseManagementObject>(TaskGuid,
ObjectQueryOptions.Default);

ManagementPack SystemMP =
_mg.ManagementPacks.GetManagementPack(
SystemManagementPack.System);
ManagementPack ActivityMP =
_mg.ManagementPacks.GetManagementPack(
Resources.ActivityManagementMP, SystemMP.KeyToken,
SystemMP.Version);

ManagementPackClass activityClass =
_mg.EntityTypes.GetClass(
Resources.WorkItemActivityClass, ActivityMP);

ManagementPackProperty status =
activityClass.PropertyCollection["Status"];
ManagementPackEnumeration Completed =

_mg.EntityTypes.GetEnumeration("ActivityStatusEnum.Completed", ActivityMP);

Activity[status].Value = Completed;
Activity.Commit();
}
catch (ArgumentNullException argNullException)
{
// Log to Tracking Service
TrackData(argNullException.ToString());

throw;
}
catch (EnterpriseManagementException mgmtException)
{
TrackData(mgmtException.ToString());
throw;
}

return ActivityExecutionStatus.Closed;
}
}
}
User role profiles in System Center -
Service Manager
Article • 03/15/2023

This article provides detailed information about the scope and properties of user role
profiles in System Center - Service Manager.

Tabs in the Administrator console


The table below shows the tabs and order that they appear in the console.

User roles Tab order in Console

activity implementer 1. Work Items


2. Configurations

advanced operator 1. Library


2. Work Items
3. Configurations

author 1. Library
2. Work Items
3. Configurations

change initiator 1. Work Items


2. Configurations

change manager 1. Work Items


2. Configurations

incident resolver 1. Work Items


2. Configurations

problem analysts 1. Work Items


2. Configurations

Read Only operator 1. Work Items


2. Configurations

Release Manager 1. Work Items


2. Configurations

Service Request Analyst 1. Work Items


2. Configurations
User roles Tab order in Console

Workflow 1. Work Items


2. Configurations

Default user roles


action allowed roles

read activity implementer, advanced operator, author, change initiator, change


knowledge manager, end user, incident resolver, problem analyst, read only operator, release
articles manager, service request analyst, workflow

edit advanced operator, author


knowledge
articles

create advanced operator, author


knowledge
articles

delete advanced operator, author


knowledge
article

create activity implementer, advanced operator, author, change initiator, change


change manager, incident resolver, problem analyst, read only operator, release manager,
requests and service request analyst, workflow
activities

create activity implementer, advanced operator, author, change initiator, change


incident and manager, incident resolver, problem analyst, read only operator, release manager,
activities service request analyst, workflow

create activity implementer, advanced operator, author, change initiator, change


problem manager, incident resolver, problem analyst, read only operator, release manager,
records service request analyst, workflow

create release activity implementer, advanced operator, author, change initiator, change
records manager, incident resolver, problem analyst, read only operator, release manager,
service request analyst, workflow

create service activity implementer, advanced operator, author, change initiator, change
requests and manager, incident resolver, problem analyst, read only operator, release manager,
activities service request analyst, workflow

edit change advanced operator, author, change manager, workflow


requests
action allowed roles

edit incidents advanced operator, author, incident resolver, workflow

edit problem advanced operator, author, problem analyst, workflow


records

edit release advanced operator, author, release manager, workflow


records

edit service advanced operator, author, service request analyst, workflow


requests

update status advanced operator, author, change manager, workflow


for change
requests

update status advanced operator, author, incident resolver, workflow


for incidents

update status advanced operator, author, problem analyst, workflow


for problem
records

update status advanced operator, author, release manager, workflow


for release
records

update status advanced operator, author, service request analyst, workflow


for service
requests

update status advanced operator, author, change manager, incident resolver, release manager,
for manual service request analyst, workflow
activity

update status advanced operator, author, change manager, release manager, service request
for review analyst, workflow
activity

create CIs advanced operator, author, workflow

update CIs advanced operator, author, workflow

delete CIs advanced operator, author, workflow

create user activity implementer, advanced operator, author, change initiator, change
preference manager, incident resolver, problem analyst, read only operator, release manager,
service request analyst, workflow

update user They can update them self only. Say Activity implementer user login as "ABC1"
preference user, then he can update "ABC1" only. Same with all the user roles.
Default user role relationships in Service
Manager
WorkItemAboutConfigItem -> ConfigurationItem

change requests - advanced operator, author, change manager, workflow


incident records - advanced operator, author, incident resolver, workflow
problem records - advanced operator, author, problem analyst, workflow
release record - advanced operator, author, release manager, workflow
service request - advanced operator, author, service request analyst, workflow

WorkItemRelatesToConfigItem > ConfigurationItem

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record – advanced operator, author, problem analyst, workflow
release record – advanced operator, author, release manager, workflow
service request – advanced operator, author, service request analyst, workflow

EntityLinksToKnowledgeDocument > ConfigurationItem

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record – advanced operator, author, problem analyst, workflow
release record – advanced operator, author, release manager, workflow
service request – advanced operator, author, service request analyst, workflow

WorkItemRelatesToWorkItem > WorkItem

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record – advanced operator, author, problem analyst, workflow
release record – advanced operator, author, release manager, workflow
service request – advanced operator, author, service request analyst, workflow

WorkItemAffectedUser

incident record – advanced operator, author, incident resolver, workflow


service request – advanced operator, author, service request analyst, workflow

WorkItemAssignedToUser

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record - advanced operator, author, problem analyst, workflow
release record - advanced operator, author, release manager, workflow
service request - advanced operator, author, service request analyst, workflow

FileAttachmentAddedByUser

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record - advanced operator, author, problem analyst, workflow
release record - advanced operator, author, release manager, workflow
service request - advanced operator, author, service request analyst, workflow

BillableTimeHasWorkingUser

incident record – advanced operator, author, incident resolver, workflow

IncidentPrimaryOwner

incident record - advanced operator, author, incident resolver, workflow

TroubleTicketResolvedByUser

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record - advanced operator, author, problem analyst, workflow
release record - advanced operator, author, release manager, workflow
service request - advanced operator, author, service request analyst, workflow

TroubleTicketClosedByUser

change request – advanced operator, author, change manager, workflow


incident record – advanced operator, author, incident resolver, workflow
problem record - advanced operator, author, problem analyst, workflow
release record - advanced operator, author, release manager, workflow
service request - advanced operator, author, service request analyst, workflow

ReviewerIsUser

review activity - advanced operator, author, change manager, release manager,


service request analyst, workflow

ReviewerVotedByUse

review activity - advanced operator, author, change manager, release manager,


service request analyst, workflow
WorkItemRelatesToRequestOffering > RequestOffering

advanced operator
author

ServiceOfferingRelatesToRequestOffering > RequestOffering

advanced operator
author

Implied permissions
The following are implied permissions for Service Manager.

ImpliedIncidentAffectedUser
The permissions for the implied Affected User profile are granted through the
WorkItemAffectedUser relationship.

Operation Type Property Relationship

Read Incident or service All properties of an incident All relationships that include
request instances, instance. the incident or service
and anything that is request instance.
contained within.

Create Work items that the All properties of a work File attachment for an
user is affected by: item log and a file incident or service request
attachment for the incident instance.
- Work item log or service request instance.
- File attachment

Update Work items that the All properties of an incident Incident instance
user is affected by: or service request instance. BillableTimeHasWorkingUser-
>User.
- Incident
- Service request
- Work item log
- File attachment

Delete Work item that the File attachment for an File attachment for an
user is affected by - incident or service request incident or service request
File attachment instance. instance.

ImpliedReviewer
The permissions for the implied Review Activity Reviewer profile are granted through the
ReviewerIsUser relationship.

Operation Type Property Relationship

Read Reviewer instances All properties of a All relationships that include the
and anything that is Reviewer instances and Reviewer instance, and anything
contained within. anything that is contained that is contained within.
within.

Create None None None

Update None Reviewer instances: Reviewer Instances:

- Reviewer.Comments - ReviewerVotedByUser->User
- Reviewer.DecisionDate - ReviewerVotedByUser-
- Reviewer.Decision >Reviewer

Delete None None None

ImpliedActivityEditor
The permissions for the implied Assigned To User profile are granted through the
WorkItemAssignedToUser relationship.

Operation Type Property Relationship

Read Activity instances None None


and anything that
is contained in it.

Create Work item All properties of Activity and All the Activity and
instances that the Reviewer instances that are Reviewer instances that are
user is assigned to: related to a work item instance. related to a work item
Instance.
- Activity
- Reviewer

Update Work item All properties of an activity and All Activity instances that
instances that the the work item instances. are related to the work item
user is assigned to: Instance.
Activity

Delete None None None

ImpliedConfigItemCustodian
The permissions for the implied CI Owner profile are granted through the
ConfigItemOwnedByUser relationship.

Operation Type Property Relationship

Read Configuration item All properties of a All relationships that include a


instances and configuration item configuration item instance,
anything that is instance and anything that and anything that is contained
contained within. is contained in it. in it.

Create None None None

Update None None Configuration item Instance -


WorkItemAboutConfigItem

Delete None None None

ImpliedPrimaryComputerUser
The permissions for the implied CI Primary User profile are granted through the
ComputerPrimaryUser relationship.

Operation Type Property Relationship

Read Configuration item All properties of a All relationships that include


instances and configuration item the configuration item instance
anything that is instance and anything that and anything that is contained
contained within. is contained within. within.

Create None None None

Update None None None

Delete None None None


Glossary of terms in System Center -
Service Manager
Article • 03/15/2023

Term Definition

action log A record of the actions that have been taken during the lifetime of an
incident to resolve the incident. Examples include comments by the
analyst, communications from the user, attachments, and task outputs.

activity A unit of work that is performed as part of managing a problem,


resolving an incident, or completing a change request or any other work
item.

activity implementer A user who has been assigned the Activity Implementer role and who
implements an assigned manual activity.

automated activity An activity that is automatically completed by Service Manager.

business hours Working hours and holiday hours that are defined in a calendar.

business service A collection of features and functions that enable a business process,
including configuration items, metadata, and the people associated with
the process.

change creator The user who creates a new change request.

change manager A user who coordinates change requests. Some of the tasks include
adding or removing activities, voting on behalf of the change advisory
board, overriding votes, or putting change requests on hold.

change request A means of proposing a change to any component of an IT infrastructure


or any aspect of an IT Service. It may be a document or record in which
the nature and details of and the justification and authorization for the
proposed change are entered.

child record A work item that is subordinate to a parent.

class A named descriptor for a set of objects that share the same attributes,
operations, methods, relationships, and behaviors.

classification The placement of an incident into a hierarchy of descriptors that indicate


what the incident is generally about. For example, an incident could be
classified as being related to software, and then to Microsoft, and then to
Word.
Term Definition

combination class A feature in Service Manager that is used mostly in reports and in views
to display information from multiple classes that are defined in Service
Manager.

configuration item Any component that needs to be managed to deliver a service. In Service
Manager, configuration items might include services, hardware, software,
buildings, people, and formal documentation, such as process
documentation and service level agreements (SLA).

configuration item A collection of configuration items. Groups can contain members of


class different configuration items classes (for example, a computer and a
user).

connector A software component that is the integration mechanism between


Service Manager and an external system. It's used for data transfers from
these external systems to Service Manager.

dependent change A change management activity that is used to link change requests to a
management activity release record.

DWDataMart The database that includes the reporting data, stored for the long-term.
database

DWRepository The database that includes the transformed data from the
database DWStagingAndConfig database.

DWStagingAndConfig The database that includes copies of management packs, configuration


database items, and work items.

extraction, The act of extracting data from various sources, transforming data to
transformation, and consistent types, and loading the transformed data for use by
loading applications.

filtered view A view to which a set of conditions have been applied to reduce the total
number of displayed objects.

groom To permanently remove data from the data warehouse.

history A record of all the changes to an object™s properties and relationships.


History exists for all objects, such as configuration items and work items."

incident A way of tracking any event that isn't part of the standard operation of a
service and that causes, or may cause, an interruption to, or a reduction
in, the quality of that service.

knowledge Information that can help an end-user or analyst solve a problem.


Term Definition

list An administrator-defined customization that enables users to classify


objects such as incidents, change requests, activities, or configuration
items. For example, a list might be Location or Organization.

list item An option that constrains the values that users can enter for a specific list.
For example, Redmond might be a list item for Location.

management pack A grouping of classes, workflows, views, forms, reports, and knowledge
that extends Service Manager with the information necessary to
implement all or part of a service management process. For example, the
Incident management pack provides the necessary information to enable
Service Manager to implement the incident management process.

notification The user who receives notifications.


subscriber

notification A package that contains information about how to reach a particular


subscriber address user. It includes items such as the protocol to use and the target address.

notification A package that contains the notification subscriber, the notification


subscription subscriber address, and any additional information, such as when to send
specific types of notifications

parent record The highest-level container of one or more work items that includes new
and changed configuration items.

problem The process by which the root cause of one or more incidents is
management identified and by which a workaround or a permanent fix is found.

problem record A record that tracks the identification, investigation, and resolution of a
root cause.

queue A holding container for work items. Members of a queue must be of the
same work item class (for example, only incidents).

recurring notification A repeating type of notification that is based on a specified time interval.

release activity A type of activity that is part of a release record, including dependent,
manual, parallel, review, and sequential activities.

review activity A step in a review process in which users approve or deny change
requests.

reviewer The user who completes an approval activity.

role-based security A method of limiting access to the Service Manager console.

runbook The sequence of activities that orchestrate actions on computers and


networks.
Term Definition

Self-Service Portal A Web interface that is configured by an administrator so that end-users


can search knowledge, create requests, and read IT announcements.

service catalog The list of published service offerings.

service component The set of configuration items that are used to deliver a business service,
such as computers, Web sites, databases, and other application
components.

service dependent The person or service in an enterprise that relies on a business service.
These people and services are affected by the output and downtime of
the business service.

Service Manager The console that is used by help desk analysts and administrators for
console help desk functions such as change, incident, problem, and configuration
management.

Service Manager data The Service Manager management server that performs the management
warehouse functions for the data warehouse.
management server

Service Manager A database that includes all the work items, configuration items, and
database administrative settings for the product.

Service Manager IT A Web interface designed for information technology (IT) managers and
portal IT professionals so that they can view and manage incidents, changes,
and assets. It can also be used to examine metrics and reports.

Service Manager The server that hosts the System Center Data Access Service service and
management server Microsoft Office SharePoint sites.

Service Manager The server that hosts Microsoft SQL Server Reporting Services (SSRS).
reporting server

service map A representation of a service from the perspective of the business and
user that shows critical dependencies, settings, and areas of
responsibility.

service offering The item or work effort that is available to customers through the Self-
Service Portal in the service catalog.

service request A work item that is used to request an existing IT service that is being
offered.

service request The process for managing service requests.


fulfillment
Term Definition

SLA An industry-wide term that is detailed in the Microsoft Operations


Framework (MOF) and Information Technology Infrastructure Library
(ITIL). Microsoft Solutions Framework (MSF) definition: An agreement
between an IT organization and the user community that defines the
responsibilities of all participating parties and that binds IT management
to provide a particular service of a specific agreed-on quality and
quantity. An SLA limits the demands that users may place on the service
to the limits that are defined by the agreement.

SLA metric A calculated time interval that Service Manager determines between the
date and time fields in incidents and service requests. For example, the
SLA metric resolution time is defined as the difference between the
Incident Created Date and the Incident Resolved Date.

SLA target The specified duration of time in which the IT organization must respond
to or resolve an incident or service request.

SQL Server Analysis (Analysis Services cube for short.) A conceptual view, consisting of
Services cube descriptive categories (dimensions) and quantitative values (measures).
The generic industry term is OLAP data cube.

task An action that a user accomplishes by using the Actions pane and the
context-sensitive menu that affects non-Service Manager objects.

Tasks pane A pane in the Service Manager console that contains tasks that a user can
perform.

template A method that is used to populate initial values in a class, such as a


change request or incident.

user role A method of granting permissions to specific users for groups of data.
These permissions are based on a user role profile.

user role profile A set of permitted operations and classes of data that users need access
to so they can perform specific job duties.

workflow A sequence of activities, actions, or tasks through which documents or


items are passed as part of an automated business process.

You might also like