System Center SCSM SC SM 2019
System Center SCSM SC SM 2019
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.
This article details the new features supported in System Center 2019 - Service Manager.
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.
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.
7 Note
The following feature was introduced in Service Manager 1801, included in 2019.
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.
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.
10.19.1035.0 n/a February 2019 System Center 2019 Service Manager RTM
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:
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.
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.
On executing the command, you get a prompt asking for the required credentials
to execute the command. Provide the credentials as appropriate.
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.
) 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.
Test conditions
The hardware and software tested are based on the following conditions:
7 Note
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).
Supported coexistence
To help simplify upgrades, you can use Service Manager 2019 connectors with the
following System Center components.
Hardware
Servers Processor Processor RAM RAM Hard Hard
(min) (rec) (min) (rec) drive drive
space space
(min) (rec)
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.
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
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.
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.
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.
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
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:
You can check the status of allow updates on SQL Server by executing the following
stored procedure from within SQL Server Management Studio:
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.
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.
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.
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)
Service Manager • • • •
Console
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
Service Manager • •
Console
Service Manager • •
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.
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:
You can check the status of allow updates on SQL Server by executing the following
stored procedure from within SQL Server Management Studio:
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.
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.
Workaround: Follow these steps to manually activate the Data Warehouse server:
7 Note
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.
Workaround: Disable TLS 1.2 before the installation/upgrade and re-enable it after the
upgrade is complete.
Workaround: None.
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.
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.
Workaround: To specify a different computer to host SSRS, perform the steps detailed
here.
Workaround: Use a different Service Manager console to create the VMM connector.
Workaround: Remove the earlier version of Service Manager Authoring Tool, and then
retry the setup.
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.
Workaround: Use a SQL instance that doesn't contain the $ character in its name.
Workaround: None.
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.
Workaround: None.
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.
2. Modify the management pack. Locate the LastModified column and modify the
binding as shown below:
Before modification
After modification
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.
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.
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 using domain policy, contact your administrators. To use local group policy,
see the section on enable service through a local group policy
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
1. Sign in with administrator privileges to the computer from which you want to
provide Log on as Service permission to accounts.
3. Expand Local Policy and select User Rights Assignment. In the right pane, right-
click Log on as a service and select Properties.
5. In the Select Users or Groups dialog, find the user you wish to add and select OK.
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
5. Right-click Monitoring Action Account Logon Type, select Edit, and select
Enabled.
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.
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.
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.
3. In Web.config file, find the key EnableTelemetry under the XML tag appSettings.
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.
6. Restart the IIS service after you make any changes to the Web.config file.
Telemetry data collected
Data related To Data collected
SM version
Cmdlets used
Exception generated
Parameters used
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.
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.
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?
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.
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.
Hardware configuration:
Description Value
Description Value
We recommend the following hardware, configured for roles and hardware as described.
Hardware configuration for the Service Manager data warehouse management server:
Hardware configuration for the Self-Service Portal with web content server with
SharePoint Web Parts:
Description Value
In this scenario, we recommend the following hardware, configured for roles and
hardware as described.
Hardware configuration for the Service Manager data warehouse management server:
Hardware configuration for the Service Manager data warehouse database server:
Hardware configuration for the Self-Service Portal with web content server:
Hardware configuration for the Self-Service Portal with SharePoint web parts:
Description Value
In this scenario, we recommend the following hardware, configured for roles and
hardware as described.
Hardware configuration for the Service Manager data warehouse management server:
Hardware configuration for the Service Manager data warehouse database server:
Hardware configuration for the Self-Service Portal with web content server:
Hardware configuration for the Self-Service Portal with SharePoint web parts:
Description Value
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
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.
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.
To validate that the agent is installed, open Control Panel, and verify that the agent
is present.
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:
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 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
SQL reporting service server 1433 ---> Remote data warehouse database
server
Component (piece A) Port Component (piece B)
number/direction
* 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.
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.
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:
You need the following permissions when you're installing a Service Manager
management server:
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).
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.
Optional:
-Deny log on as a batch job
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 .
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:
Optional:
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.
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:
Select the required tab to view the permissions and 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.
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.
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.
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.
2. Select Start, point to Programs, point to Microsoft SQL Server 2008, point to
Configuration Tools, and select Reporting Services Configuration Manager.
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.
7. In the Report Manager Site Identification area, in the Virtual Directory text box,
ensure that the entry reads Reports, and select Apply.
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.
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.
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.
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.
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.
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.
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.
#
# 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.
#
$a =
[reflection.assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.C
ore")
$m = new-object Microsoft.EnterpriseManagement.EnterpriseManagementGroup
$Server
# 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.
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
During Setup, you'll be prompted to provide credentials for the following accounts:
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.
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
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
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.
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.
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
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
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.
19. Disable all the Data Warehouse jobs. To do this, open the Service Manager shell,
and then run the following commands:
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:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices")
$Server = New-Object Microsoft.AnalysisServices.Server
$Server.Connect($SSAS_ServerName)
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]
$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)
$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)
Select the required tab for steps to validate the installation of:
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:
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.
) 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.
During setup, you'll be prompted to provide credentials for the following accounts:
For more information about the permissions that these accounts require, see Account
required during Setup.
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.
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
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
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.
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.
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.
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
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
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.
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.
19. Disable all the Data Warehouse jobs. To do this, open the Service Manager shell,
and then run the following commands:
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:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices")
$Server = New-Object Microsoft.AnalysisServices.Server
$Server.Connect($SSAS_ServerName)
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]
$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)
$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)
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.
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.
During Setup, you'll be prompted to provide credentials for the following accounts:
For more information about the permissions that these accounts require, see Accounts
Required During Setup.
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.
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
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
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.
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.
During Setup, you'll be prompted to provide credentials for the following accounts:
Reporting account
For more information about the permissions that these accounts require, see Accounts
Required During Setup.
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.
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
b. Select Browse, enter the user or group that you want to be the Service Manager
administrator, and select Next.
7 Note
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
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.
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:
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:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices")
$Server = New-Object Microsoft.AnalysisServices.Server
$Server.Connect($SSAS_ServerName)
$Databases = $Server.Databases
$DWASDB = $Databases["DWASDataBase"]
$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)
$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)
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:
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.
b. In the Server Name list, select the server name for your Service Manager
database. For example, select Computer 2.
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
b. In the Server Name list, select the server and instance for your Service Manager
data warehouse database. For example, select Computer 4.
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.
b. In the Server Name list, select the server and instance for your Service Manager
data warehouse database. For example, select Computer 4.
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.
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:
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.
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>
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" />
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
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 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
}
$tagNameToFind = "CodeGroup"
$attributeNameToFind = "Name"
$attributeValueToFind = "Microsoft System Center Service Manager Reporting
Code Assembly"
$nodeToFind = Select-Xml -XPath
"//$tagNameToFind[@$attributeNameToFind='$attributeValueToFind']" -Xml $xml
$CodeGroup_NodeToVerify = [System.Xml.XmlNode]$nodeToFind.Node
$IMembershipCondition_NodeToVerify =
[System.Xml.XmlNode]$CodeGroup_NodeToVerify.IMembershipCondition
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
$tagNameToFind = "Extension"
$attributeNameToFind = "Name"
$attributeValueToFind = "SCDWMultiMartDataProcessor"
$nodeToFind = Select-Xml -XPath
"//$tagNameToFind[@$attributeNameToFind='$attributeValueToFind']" -Xml $xml
$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.
) 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.
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,
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.
2. Install SQL Server in Prepare for imaging mode. This installs the binary files, but
doesn't configure SQL server.
7 Note
3. Copy the SQL Server installation files to a temporary location on the server. For
example, c:\Runonce\ SQLFULL_ENU.
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.
@echo off
set ServiceAccountDomain=contoso
set ServiceAccountName=Administrator
set ServiceAccountPassword=P@$$word
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.
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.
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:
To work around this problem, update the MonitoringHost.exe.config XML file using the
following steps.
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" /> .
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.
2. At the Windows PowerShell prompt, enter the following command, and then press
ENTER:
PowerShell
3. Enter exit, and then press ENTER to close the Administrator: Windows PowerShell
window.
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.
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
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.
3. In the Data Warehouse pane, expand Data Warehouse, and select Data
Warehouse Jobs.
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:
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:
Load.Common
Transform.Common
MPSyncJob
7 Note
If these five data warehouse jobs don't appear, complete the following steps:
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
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.
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.
7 Note
You must be a member of the Service Manager Administrators user role to install
an additional Service Manager 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.
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.
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.
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.
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.
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.
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.
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.
7 Note
It isn't recommended to install the Self-Service Portal on the same server as the
primary Management Server.
Hardware requirements
*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.
Microsoft Edge
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.
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.
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.
This happens when the installer is started without Administrator credentials. As a result,
the installer can't not access IIS configuration settings.
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.
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 .
2. On the Management Server where your Portal connects to, restart the SDK Service.
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.
The Service Offering matches the browser language or language selected through
Portal Language selector matches.
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
ru-RU: русский
sv-SE: svenska
tr-TR: Türkçe
zh-CHS: 中文(简体)
zh-TW: 中文(简体)
zh-HK: 中文 (香港特別行政區)
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.
Microsoft Edge
1. Start the Add Roles and Features Wizard and then enable IIS.
2. Enable the .NET features.
3. Enable the following role services on the Web Server Role (IIS) page.
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.
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.
Restart IIS. You can access the Web App (http://yourwebsite:port) in your browser.
It will resemble the following image.
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
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.
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.
SELECT [EnumTypeName]
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.
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.
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.
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
8. After you receive the message Secure Storage Backup Complete, select Finish.
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.
The GUID of the .rtf file that you'll discover in the following procedure
For this procedure, it's assumed that the file rtffil.dll is located in the
C:\Windows\System32 folder.
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
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.
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.
b. In the Server Name list, select the server and instance for your Service Manager
database.
5. In the center pane, enter the following commands, and select Execute.
6. In the Messages tab, verify that the message Command(s) completed successfully
appears.
b. In the Server Name list, select the server and instance for your Service Manager
database.
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.
Event logs
Service Manager event logs are located in Event Viewer in the Application and Service
Logs/Microsoft/Operations Manager folder.
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
/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:
For additional information about command-line parameters, enter setup.exe /?. The
parameters in the following table are optional.
command notes
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.
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.
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
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.
7 Note
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
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
-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 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.
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.
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.
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.
) Important
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:
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:
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.
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
) Important
Follow these steps to identify the SQL Server database and instance names used by
the data warehouse management server:
3. In the Run dialog, in the Open box, enter regedit, and select OK.
DatabaseName
DatabaseServerName
DataMartDatabaseName
DataMartSQLInstance
RepositoryDatabaseName
RepositorySQLInstance
StagingDatabaseName
StagingSQLInstance
OMDataMartDatabaseName
OMDataMartSQLInstance
CMDataMartDatabaseName
CMDataMartSQLInstance
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:
1. Sign in to the original computer running SQL Server that is hosting the data
warehouse databases, and open SQL Server Management Studio.
b. In the Server Name list, select the server name for your data warehouse
database.
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.
1. Sign in to the original computer running SQL Server that is hosting the data
warehouse databases, and open SQL Server Management Studio.
b. In the Server Name list, select the server name for your data warehouse
database.
1. On the new computer running SQL Server, open SQL Server Management Studio.
b. In the Server Name list, select the server name for your Service Manager
services database.
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.
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.
1. On the new computer running SQL Server, open SQL Server Management Studio.
b. In the Server Name list, select the name of the new computer running SQL
Server that hosts the DWStagingAndConfig database.
5. In the center pane, copy the following command, and select Execute.
sp_configure 'clr enabled', 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.
7. In the center pane, remove the command you entered in the previous step, copy
the following command, and select Execute.
8. In the center pane, remove the command you entered in the previous step, enter
the following command, and select Execute.
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
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.
13. Enter the user name in the domain\user name format for the reporting account,
select Check Names, and select OK.
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
22. In the Object Explorer pane, expand Security, and then expand Logins.
25. Enter the user name in the domain\user name format for the OLAP account, select
Check Names, and select OK.
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.
4. Right-click dbo.
MT_Microsoft$SystemCenter$ResourceAccessLayer$SqlResourceStore, and select
Edit Top 200 Rows.
6. Right-click
dbo.MT_Microsoft$SystemCenter$ResourceAccessLayer$CMDBResourceStore,
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.
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.
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
1. Sign in to the Service Manager reporting server, and start Reporting Services
Configuration Manager.
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.
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.
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
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.
1. Sign in to the server that hosts the SQL Server Analysis Services database.
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.
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.
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:
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)
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.
System Center 2016/1801 - Service System Center 2019 - Service Evaluation period
Manager Eval Manager Eval remains unchanged
7 Note
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
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.
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.
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.
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.
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.
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:
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.
3. Start a second instance of Windows Explorer, locate the drive that contains the
Service Manager installation media, and then open the Prerequisites folder.
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" />
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.
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.
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.
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.
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.
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.
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.
14. On the Setup completed successfully page, we recommend that you leave Open
the Encryption Backup or Restore Wizard selected, and select Close.
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.
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.
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).
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.
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 a connector
Follow these steps to enable a connector:
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.
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:
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:
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)
5. In the center pane, enter the following commands, and select Execute.
6. In the center pane, remove the commands you entered in the previous step, enter
the following commands, and select Execute.
7. In the center pane, remove the commands you entered in the previous step, enter
the following commands, and select Execute.
8. In the center pane, remove the commands you entered in the previous step, enter
the following commands, and select Execute.
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
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
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.
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.
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>.
13. In all the rows in this column, enter the name of the computer hosting the Service
Manager management server in the lab environment.
17. In the center pane, enter the following command, and select Execute.
Delete from
dbo.MT_Microsoft$SystemCenter$ResourceAccessLayer$DwSdkResourceStore
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System
Center\2010\Common\Database
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.
Your secondary management server is now the primary management server for the
management group.
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.
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
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
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.
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.
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
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.
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
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.
3. In the Data Warehouse pane, expand Data Warehouse, and select Data
Warehouse Jobs.
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.
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:
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.
1. On the computer that hosts the data warehouse management server, on the
Windows desktop, select Start, and select Run.
3. In the Services window, in the Services (Local) pane, right-click System Center
Data Access Service, and select Start.
1. On the computer that hosts the Service Manager management server, on the
Windows desktop, select Start, and select Run.
3. In the Services window, in the Services (Local) pane, right-click System Center
Management, and select Start.
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.
import-module
$PWD/Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1
Get-SCDWJob
The last command, Start-SCDWJob - JobName MPSyncJob, will enable the ETL
jobs to run.
1. On the computer that hosts SSRS, on the Windows desktop, select Start, and select
Run.
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:
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:
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 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:
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:
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:
Increase the service time-out setting on the computer that is running Setup.
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.
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
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.
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.
For more information about how to create and customize management packs, see
Management Packs: Working with Management Packs.
3. In the Tasks pane, under Management Packs, select Create Management Pack.
You can use Windows PowerShell commands to complete these tasks, as follows:
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.
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.
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.
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.
You can use Windows PowerShell commands to complete these and other related
tasks, as follows:
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.
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.
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.
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
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.
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.
3. In the Tasks pane, under Connectors, select Create Connector, and select Active
Directory Connector.
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.
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.
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:
7 Note
Depending on the amount of data that is imported, you might have to wait
for the import to be completed.
2. In the Connectors pane, review the Status column for a status of Finished Success.
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.
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.
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.
5. In the Configuration Items pane, select Users. Verify that any new users and
groups in AD DS appear in the middle pane.
3. In the Connectors pane, select the Active Directory connector that you want to
disable.
2. In the Connectors pane, select the Active Directory connector that you want to
enable.
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.
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.
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.
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.
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
.\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
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.
7 Note
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.
3. In the Tasks pane, under Connectors, select Create Connector, and select
Operations Manager Alert Connector.
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:
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.
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.
Confirm that incidents are created in Service Manager from alerts in Operations
Manager.
3. In the Tasks pane, under Connectors, select Create Connector, and select
Operations Manager CI Connector.
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.
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.
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.
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.
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.
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.
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.
3. In the Connectors pane, select the Operations Manager connector that you want
to disable.
3. In the Connectors pane, select the Operations Manager connector that you want
to enable.
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.
3. In the Connectors pane, select the Operations Manager connector that you want
to edit.
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.
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.
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.
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.
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.
) 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.
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
3. In the Connectors pane, select the Configuration Manager connector that you
want to disable. For example, select Configuration Manager connector to SEA.
7 Note
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.
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.
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.
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:
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.
<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>
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.
DataConnector
Properties
Property Expected value Validation after import
In DataConsumer
template - False
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
- 0-Indicates
DateTime type
- 1-Indicates the
Timestamp type
- (-1)-Indicates no
watermarking, in
which case
WatermarkField
becomes optional
- 0-Int
- (-1)-No batching,
in which case
BatchIdField
becomes optional
UseCache True
Property Expected value Validation after import
- 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 ...
specified in the
System Center
Configuration
Manager Connector
Wizard.
Notably, subqueries
aren't supported,
but joins to other
tables are
supported.
If you're using
multiple collections,
dependency should
be expressed only
between tables in
different collections.
DataField Properties
DataCollection
Properties
In DataConsumer
template-Not
present
DataTables Comma-separated
value (CSV) list of
tables referencing
this collection
In DataConsumer <MPName>Microsoft.Windows.Library</MPName>
template-Indicates
type mapping <MPVersion>version of MP</MPVersion>
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.
<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>
<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
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
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.)
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.
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.
7 Note
Allow sufficient time for the import process to finish if you're importing a
large number of runbooks.
5. Review the Runbooks pane, and note that your runbooks have been imported.
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.
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.
3. In the Connectors pane, select the Orchestrator connector that you want to
disable.
2. In the Connectors pane, select the Orchestrator connector that you want to
enable.
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.
3. In the Tasks pane, under Connectors, select Create Connector, and select Virtual
Machine Manager connector.
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).
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.
7 Note
Allow sufficient time for the import process to finish if you're importing a
large number of virtual machines or clouds.
6. In the Configuration Items pane, select the folder you just created. For example,
select Test.
a. On the General page, in the Name area, enter a name for this view. For
example, enter VMMTemplates.
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.
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.
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.
3. In the Connectors pane, select the Virtual Machine Manager connector that you
want to disable.
2. In the Connectors pane, select the Virtual Machine Manager connector that you
want to enable.
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.
Create configuration item or work item instances from data stored in a tabular
format.
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
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.
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.
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>
column property
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.
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.
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.
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.
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.
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.
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
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
Follow these steps to add related services, people, and configuration 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
Several features in Service Manager let you streamline the creation of incidents. You can
configure incident settings such as the following in Service Manager:
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.
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.
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.
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.
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.
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.
Select the required tab for steps to automatically resolve, activate, or update child
incidents:
6. Select OK.
7 Note
3. In Server Manager, select Features, and in the Features pane, select Add Features.
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.
10. When the Installation Results page appears, select Close to exit the wizard.
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.
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.
11. Create two child folders. Name the first folder Badmail, and name the second
folder Drop.
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.
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.
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.
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.
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]
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.
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.
Select the required tab for steps to create an email-related or a new printer-related
incident template:
Next steps
To measure incident and service request timeliness, see Configure service level
management.
Configure Service Level Management
Article • 05/19/2023
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.
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.
Title
Time zone
Working days and hours
Holidays
Select the required tab for steps to create a metric for incidents or service requests:
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.
Title
Description
Start date
End date
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.
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.
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.
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:
Follow these steps to view the warning SLA information in an incident form:
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
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.
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.
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.
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.
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.
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.
7 Note
Revising the change request prefix doesn't affect existing change requests.
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.
7 Note
Revising the activity request prefix doesn't affect the existing activity records.
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.
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.
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.
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.
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.
5. In the Configure workflows for objects of class Release Record dialog, complete
these steps:
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.
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.
7 Note
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.
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:
3. In the Work Items pane, expand Incident Management, and select All Open DCM
Incidents.
You can use Windows PowerShell commands to complete these and other related
tasks, as follows:
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.
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.
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.
7 Note
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.
7 Note
7 Note
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.
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.
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.
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.
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.
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.
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.
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.
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.
You can use a Windows PowerShell command to complete these tasks and other
related tasks, as follows:
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.
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:
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.
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.
Data Center
Access and Security
Communication Services
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 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:
You can use the following procedures to publish a draft service offering and then use a
change request to publish it.
You can use the following procedures to edit a service offering or a request offering.
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.
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
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.
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.
b. In the Description text box, enter a description for the group. For example,
enter All Exchange servers that require an update.
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.
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:
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.
To create a queue
1. In the Service Manager console, select Library.
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.
2. In the Tasks pane, select Properties, and then verify that the queue appears as you
defined it.
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.
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.
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.
) 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.
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.
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.
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.
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.
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.
4. In the Select management pack dialog, accept the default management pack,
Service Manager Service Request Configuration Library, and select OK.
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.
4. In the Tasks pane, in the Service Request Source area, select Properties.
6. In the Select management pack dialog, accept the default management pack,
Service Manager Service Request Configuration Library, 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.
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.
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.
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.
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
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.
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.
2. In the Administration pane, expand Security, and then select User Roles.
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.
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.
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.
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.
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.
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.
) Important
Don't configure the Operational Database Account to use the Network Service
account.
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.
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.
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.
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.
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.
2. In the Library pane, expand Knowledge, and select All Knowledge Articles.
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.
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.
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.
2. In the Knowledge Search form, enter a search term in the Search for box, and
select Go. 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.
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:
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.
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.
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:
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
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:
Online, up-to-date Help: Type the following command, and then press
ENTER:
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.
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.
Get-SCSMCommand
Cmdlet Description
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-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-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.
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-SCDWWatermark - Sets the watermark from which subsequent data processing should
continue.
Unregister-
SCDWManagememtPack
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.
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.
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:
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.
7 Note
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.
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.
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.
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.
In general, you should avoid having the same dimension, fact, and cube name in
differing schemas. Service Manager doesn't support this condition.
2. At the Windows PowerShell prompt, enter the following commands, and then
press ENTER after each command:
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.
2. At the Windows PowerShell prompt, enter the following commands, and press
ENTER after each command:
7 Note
For information about using the Service Manager Windows PowerShell cmdlets, see
Configuring and Using the Service Manager Cmdlets for Windows PowerShell.
2. At the Windows PowerShell prompt, enter the following commands, and then
press ENTER after each command:
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:
7 Note
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.
Get-SCDWJobSchedule
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.
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisSe
rvices") > $NULL
Get-SCDWJob -NumberOfBatches 5
3. Enter exit, and then press ENTER.
PowerShell
Get-SCDWJob
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.
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.
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.
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.
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.
7. In the Register Data Source Wizard, on the Before You Begin page, select Next.
9. Under Specify a Root Management Server area, enter the following information:
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
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.
3. In the Administration pane, expand Data Warehouse, and then select Data
Sources.
5. In the Register Data Source Wizard, on the Before You Begin page, select Next.
a. For Central Site server name, enter the site 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
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.
3. In the Administration pane, expand Data Warehouse, and then select Data
Sources.
5. In the Register Data Source Wizard, on the Before You Begin page, select Next.
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
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.
Suspending a job
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.
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.
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.
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.
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
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.
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:
4. Restart SSRS:
d. In the Reporting Server Status window, select Stop, and select Start.
e. Select Exit.
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
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.
One or more data warehouse jobs start failing after importing a custom management
pack and synchronizing it to the data warehouse.
Troubleshooting Steps
1. Check the event log to ensure that the root cause is the custom management pack:
a. Uninstall the custom management pack using the Service Manager console.
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.
a. Remove the custom management pack and recover from the failure using step
2, shown previously.
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
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.
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.
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.
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:
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.
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
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:
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.
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:
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.
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
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.
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.
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.
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.
c. In the Select Property dialog, in the Related classes list, expand Incident, and
select Is Related to Configuration Item.
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.
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.
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)
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.
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.
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.
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
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.
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.
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.
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.
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.
The template author creates a template for release records by using the following
procedure.
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.
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.
Use the following procedure to manually create a new incident and then link it to a
related parent.
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.
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.
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.
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.
7 Note
It might take a few seconds for the new incident view to appear.
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.
7 Note
It might take a few seconds for the new status to appear. To immediately view
the change, select Refresh.
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.
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.
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.
7 Note
It might take a few minutes for the incident status to be updated to Resolved.
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
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.
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.
The procedures that are related to this scenario describe a change to Woodgrove Bank's
IT infrastructure that is approved before deployment.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
7 Note
Users can only approve or reject the activities that are assigned to them.
7 Note
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.
7 Note
7 Note
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.
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
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.
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.
8. In the Urgency and Priority lists, select one for each if they haven'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.
7 Note
Users can only approve or reject and close the activities that are assigned to them.
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.
5. In the Comments dialog, enter any comments that you have for the approval or
rejection, and select OK.
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.
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.
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.
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.
2. In the Work Items pane, expand Work Items, expand Service Request Fulfillment,
and select Completed Service Requests.
5. In the Comments dialog, enter any comments that you've for the closure, and
select OK.
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.
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.
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.
8. In the Criteria area, next to Assigned To User ID, in the text box after equals, enter
[me], and select OK.
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
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.
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.
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.
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.
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.
The template author creates a template for release records by completing the following
procedure.
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.
The following procedure is performed on a parent release record that may or may not
have child release records linked to it.
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.
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.
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
Software
Users
Computers
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.
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.
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.
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.
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
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:
In addition to its base that is built on the System Center common platform, the
Service Manager data warehouse has two other databases:
Utilize data warehousing best practices, such as dimensional modeling with facts
and dimensions.
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.
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.
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.
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
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 .
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.
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).
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.
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.
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.
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.
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.
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.
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:
TIFF file
Word
10. Save the file to the desktop with a file name of your choice, and then close the
report form.
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.
5. Select Select Folder, and select the folder in which you want to save the report.
6. Select OK.
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.
Schedule report history so that new snapshots are added to the report history at
regular intervals.
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.
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 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.
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 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 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
Release List of Provides a list of all release records within a certain time frame.
management Release
Records
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.
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.
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.
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.
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
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:
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.
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.
Create partitions
Delete partitions
Update partition boundaries
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.
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
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.
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.
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.
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
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:
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.
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.
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
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.
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.
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 .
<ManyToManyRelationship CubeDimension="ServiceDim"
TargetMeasureGroup="AlertAboutConfigItem"
IntermediateMeasureGroup="ServiceContainsConfigItem" />
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:
Value Yes String MDX script defining the numeric 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:
CubeDimension Yes String The cube dimension that is the target of the
action, which must be a slicer on the Measure
Group
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.
NamedCalculation
ManyToManyRelationship
KPI
Measure
Action
CustomMdx
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.
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.
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.
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
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)
Next steps
Create an OLAP cube using a management pack.
Create a Service Manager OLAP cube
using a management pack
Article • 03/16/2023
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.
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:
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 .
7 Note
The first time you analyze a cube with Excel, it can take a few minutes to load.
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.
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.
2. In the Cubes pane, select a cube name, and then under Tasks, select Process Cube.
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.
watermarkbatchid = 0
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.
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.
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.
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.
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.
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.
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
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.
2. On the Home tab, select Add Lists. In the Add Lists box, select PerformancePoint
Content, and select OK.
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.
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.
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.
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%.
6. To save the KPI, in the Workspace Browser, right-click Resolved Incidents KPI, and
select Save.
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.
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.
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.
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.
2. In the Select a Dashboard Page Template window, select the 2 Columns template,
and select OK.
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.
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.
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.
2. In the Workspace Browser, right-click the Resolved Incidents Dashboard, and then
select Deploy to SharePoint.
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.
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:
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.
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.
Priority
Low
Medium
High
Windows 7
Windows 8
Windows 10
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.
XML
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
XML
<Outrigger ID="ActivityStatus" Accessibility="Public">
<Attribute ID="Status"
PropertyPath="$Context/Property[Type='CoreActivity!System.WorkItem.Activity'
]/Status$" />
</Outrigger>
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.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
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.
Each <Outrigger> parent tag contains one or more <Attribute> subelement tags. The
following table describes the attributes for this tag.
Attribute Description
PropertyPath PropertyPath syntax, which must uniquely identify the class and attribute that the
outrigger attribute is targeting.
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
XML
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
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.
Target The management pack class name that the dimension is targeting.
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
PropertyPath PropertyPath syntax that must uniquely identify the class and attribute
that the dimension attribute is targeting.
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.
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.
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.
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.
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:
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.
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.
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.
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
8. After you see the message Secure Storage Backup Complete, select Finish.
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.
DWDataMart
DWRepository
DWStagingAndConfig
ServiceManager
ReportServer
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
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.
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.
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.
For either management server, your first step must be to restore the encryption key
before you start the management server setup.
7 Note
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.
7 Note
You must restore the encryption key before starting this procedure.
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.
7 Note
You must restore the encryption key before starting this procedure.
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.
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.
You can use the following procedures to promote a secondary Service Manager
management server.
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.
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:
7. At the bottom of the SQLQuery1.sql pane (the center pane), confirm that the
"Query executed successfully" message appears.
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.
Your secondary management server is now the primary management server for the
management group.
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.
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.
) Important
The three methods for customizing and extending Service Manager are as follows:
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.
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.
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.
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.
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.
If Windows Error Reporting is enabled on the computer that is running the Authoring
Tool, errors are reported automatically.
1. Verify that the computer on which you plan to install the Authoring tool meets the
requirements.
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.
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.
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.
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.
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.
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.
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:
Workflows
Workflows that were developed in System Center Service Manager 2010 are supported
in Service Manager.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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:
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.
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.
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.
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.
<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
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.
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.
<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.
The Manifest
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.
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 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 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:
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.
In this example, an enumeration is defined for keeping track of the condition of the
projectors. The following defines this enumeration:
<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.
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:
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.
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:
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:
The first two <Category> elements in the example are used to control the display of the
New and Edit tasks in the Projectors view.
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 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 TypeName attribute contains the namespace and class name of the form.
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.
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.
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>
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
<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 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)
Any class extension that derives from Class B will inherit Property1 and Property2.
<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-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.
Management Pack
<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
{
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.
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
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.
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.
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.
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.
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.
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
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.
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).
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.
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.
Name reflects the meaning of the class, not the inheritance hierarchy.
Use the System prefix if you expect others to define schemas on top of that
namespace.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The following procedures describe all the methods for defining class inheritance in
the Authoring Tool.
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.
7 Note
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.
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.
2. In the Management Pack Explorer, select and then expand any management pack.
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.
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.
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.
7 Note
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.
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 .
1. Initialization
3. Refresh
4. Submit changes
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.
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.
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.
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.
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.
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.
) Important
Don't modify the form's DataContext property. The forms hosting environment
uses this property to identify the form target instance.
XML
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.
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
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#
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.
It's possible to enable, disable, and run form commands both programmatically and
declaratively.
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#
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.
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.
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.
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.
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.
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.
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.
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.
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 Single Instance Picker control to a form.
Use the following procedures to add a Tab Control control and a Tab Item control to a
form.
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.
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.
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.
3. In the New Management Pack dialog, in the File name box, enter
MyIncidentFormCustomizations, and select Save.
7 Note
7 Note
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.
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
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.
Authoring environment files. When you create or edit a workflow, these files store
the raw workflow information, such as property values and workflow logic.
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.
The following tables list the default activities that are available with the Authoring
Tool:
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
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.
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.
Save State VM Use this activity to save the state of a virtual machine, and then stop
the virtual machine.
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.
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.
) 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.
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.
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."
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.
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.
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.
To paste the activity at the end of the workflow, right-click the authoring
pane, and select Paste.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
) 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.
) 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.
) 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.
) 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.
) 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.
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.
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.
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.
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
{
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);
}
}
Detects whether it's operating within a For-Each Loop activity, and, if so, sets the
appropriate WF activity properties.
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.
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");
}
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;
}
}
}
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;
string propertyName =
Common.GetPropertyName(setActivityStatusToCompletedObj);
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.
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
{
[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);
}
}
}
}
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.
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 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>
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.
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.
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
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.
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.
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.
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.
For general information about deploying a workflow to Service Manager, see How to Deploy a
Workflow to Service Manager.
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:
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.
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.
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.
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.
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.
a. In the <LanguagePacks> section of the file, locate the DisplayString for the
column that you want to customize.
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,
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.
3. In the Windows PowerShell window, enter the following, and then press Enter:
PowerShell
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.
PowerShell
PowerShell
Get-SCManagementPack -DisplayName Dashboards | Remove-SCManagementPack
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>
XML
<Identity>
<ID>ManagementPack.aded6801e732473d80731943d22d33dc</ID>
<Version>7.5.1088.276</Version>
</Identity>
XML
<ID>IncidentDashboards</ID>
XML
<DisplayStrings>
<DisplayString
ElementID="ManagementPack.aded6801e732473d80731943d22d33dc">
<Name>Dashboards</Name>
</DisplayString>
XML
<DisplayString ElementID="IncidentDashboards">
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>
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>
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.
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.
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.
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.
PowerShell
PowerShell
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
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
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
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
ComputerHostsOperatingSystemCount
DeployedComputerRunsWindowsComputerCount
ConfigurationManagerCollectionHasComputerCount
IsInstalled
IsMissing
IsUnknown
ComputerHasSoftwareUpdateCount
ServiceContainsConfigItemCount
ServiceContainsComputerCount
ComputerDimCount
OperatingSystemDimCount
DeployedComputerDimCount
ConfigurationManagerCollectionDimCount
SoftwareUpdateDimCount
ServiceDimCount
ConfigItemDimCount
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
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.
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.
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
The Add AD DS Computer to Group activity generates the output that is described in
the following table.
Output Output Boolean The result of the operation: True if the addition succeeded;
False if it failed.
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 Name UserName String Yes The sign-in name of the user.
The Add AD DS User to Group activity generates the output that is described in the
following table.
Output Output Boolean The result of the operation: True if the addition succeeded,
False if it failed.
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.
None None
Properties
The Delay activity uses the input properties that are listed in the following table.
Display name Internal name Type Required Description
None For more information about this activity, see DelayActivity Class in None
the .NET Framework Class Library.
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.
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.
None None
Properties
The For Each Loop activity uses the input properties that are described in the following
table.
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.
None None
Properties
None.
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.
None None
Properties
None.
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.
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.
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.
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.
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.
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 Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)
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.
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.
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.
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.
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.
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 Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)
The Shutdown VM activity generates the output that is described in the following table.
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.
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.
None None
Properties
The Start VM activity uses the input properties in the following table.
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 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 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.
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.
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.
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 Time TimeoutSeconds Integer No. (The Specifies the maximum number
Limit default of seconds to allow for the
setting is activity to run.
300
seconds.)
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.
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.
None None
Properties
The Command Script activity uses the input properties that are described in the
following table.
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.
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.
- $Target/...$
- $MPElement[...]
- $Data/...$. $Data
references are resolved
only at run time in the
parameters (not in the
script itself).
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 .
Properties
The VBScript Script activity uses the input properties that are described in the following
table.
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.
None None
Properties
The Create Incident activity uses the input properties that are listed in the following
table.
Affected AffectedUserName String Yes Specifies the user name of the primary
User user who is affected by the incident.
Name
The Create Incident activity generates the output that is described in the following
table.
None None
Properties
The Get Incident activity uses the input properties that are listed in the following table.
The Get Incident activity generates the output that is described in the following table.
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.
None None
Properties
The Update Incident activity uses the input properties that are described in the
following table.
The Update Incident activity generates the output that is described in the following
table.
None None.
Properties
The Set Activity Status to Completed activity uses the input properties that are
described in the following table.
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.
List type Service N/A The internal name of the List type
internal name Manager property.
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.
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.
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
French French_100_CI_AS
German_Standard Latin1_General_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
Russian Cyrillic_General_100_CI_AS
Spanish_Modern_Sort Modern_Spanish_100_CI_AS
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.
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.
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.
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.
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
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
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
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
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
Name SCCM.Ext.vex_GS_LOGICAL_DISK.Name0
Description SCCM.Ext.vex.GS_LOGICAL_DISK.Description0
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
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
PNPDeviceID SCCM.Ext.vex.GS_DISK.PNPDeviceID0
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
Name SCCM.Ext.vex_GS_PROCESSOR.Name0
Description SCCM.Ext.vex.GS_PROCESSOR.Name0
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
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
Name SCCM.Ext.vex_GS_NETWORK_ADAPTER.Name0
Description SCCM.Ext.vex.GS_NETWORK_ADAPTER.Description0
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
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
MajorVersion SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.VersionMajor0
MinorVersion SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.VersionMinor0
LocaleID SCCM.Ext.vex_GS_INSTALLED_SOFTWARE.Language0
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
BulletinID SCCM.Ext.vex_UpdateCIs.BulletinID
SupportString SCCM.Ext.vex_LocalizedCIProperties.CIInformativeURL
Classification SCCM.Ext.vex_LocalizedCategoryInstances.CategoryInstanceName
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
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
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
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
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
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_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center<version>
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 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 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.
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");
}
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.
author 1. Library
2. Work Items
3. Configurations
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
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 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
WorkItemAffectedUser
WorkItemAssignedToUser
FileAttachmentAddedByUser
BillableTimeHasWorkingUser
IncidentPrimaryOwner
TroubleTicketResolvedByUser
TroubleTicketClosedByUser
ReviewerIsUser
ReviewerVotedByUse
advanced operator
author
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.
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.
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.
- Reviewer.Comments - ReviewerVotedByUser->User
- Reviewer.DecisionDate - ReviewerVotedByUser-
- Reviewer.Decision >Reviewer
ImpliedActivityEditor
The permissions for the implied Assigned To User profile are granted through the
WorkItemAssignedToUser relationship.
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
ImpliedConfigItemCustodian
The permissions for the implied CI Owner profile are granted through the
ConfigItemOwnedByUser relationship.
ImpliedPrimaryComputerUser
The permissions for the implied CI Primary User profile are granted through the
ComputerPrimaryUser relationship.
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 implementer A user who has been assigned the Activity Implementer role and who
implements an assigned manual activity.
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 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.
class A named descriptor for a set of objects that share the same attributes,
operations, methods, relationships, and behaviors.
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).
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.
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.
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.
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.
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.
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.
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.
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.