SCCM data import process and source tables
Summarize
Summary of SCCM data import process and source tables
The ServiceNow platform supports Microsoft SCCM versions with consistent features and imported data. The SCCM data import process uses a scheduled job to retrieve data via a MID Server, importing it into staging tables on the ServiceNow instance. Subsequently, transform maps convert this data to update corresponding Configuration Management Database (CMDB) tables.
Show less
Data Import Process and Source Tables
The scheduled import named SCCM System <version> Import controls when SCCM data is imported into ServiceNow, either immediately or at set intervals. A MID Server extracts data from SCCM and loads it into staging tables. Transform maps then map this data into CMDB tables such as cmdbcicomputer, cmdbcidisk, cmdbcinetworkadapter, cmdbcispkg, and others.
The SCCM source tables correspond to specific staging and CMDB target tables, enabling accurate data mapping. For example:
- vGSComputerSystem and related tables map to cmdbcicomputer.
- vGSDisk maps to cmdbcidisk.
- vGSNetworkAdapterConfiguration maps to cmdbcinetworkadapter.
- vGSAddRemovePrograms and vGSAddRemovePrograms64 map to software tables, including cmdbcispkg and cmdbsamswinstall when Software Asset Management (SAM) is enabled.
SCCM Data Sources and Transform Maps
The integration uses JDBC data sources specifying connection details and MID Server assignments to import SCCM software data. Transform maps define how SCCM fields are translated into CMDB fields. These maps are accessible via the data source records and can be customized as needed.
Two transform maps exist for incremental software imports:
- Incremental Import: Default active map when SAM is not enabled.
- Incremental Import (SAM enabled): Use this map when the Software Asset Management plugin is activated.
To perform a full one-time software import, clear the Last run datetime on the data source, but incremental imports are recommended for ongoing efficiency.
User Assignment and Identification
The import process attempts to assign users to computer records by matching usernames in SCCM with those in ServiceNow's sysuser table. The matching field defaults to username but can be configured.
CI identification uses resource IDs from SCCM stored in the sysobjectsource table. The Identification and Reconciliation Engine (IRE) updates existing CIs or creates new ones based on these IDs to maintain CMDB integrity. Upgrades from pre-Geneva versions require manual property configuration to use new identifiers.
Software and Data Integrity
The integration reconciles software packages installed on CIs, removing software instances if uninstalled in SCCM. Full software imports update software and software instance tables, and if SAM is enabled, the software installation table is also updated.
Important: The imported SCCM data must be complete per CI to avoid unintentional deletion of valid CMDB relationships, as ServiceNow assumes the import reflects the full state of relationships.
The Microsoft SCCM versions supported in the ServiceNow® platform offer identical features and the same imported data.
Data import process
- A schedule called SCCM System <version> Import determines when the SCCM tables are imported into the ServiceNow® instance. Imports can be executed immediately or scheduled to run at defined intervals.
- A MID Server retrieves the SCCM data and imports it into staging tables on the instance.
- Transforms run on the data in the staging tables and map the SCCM data to existing fields in the CMDB.
SCCM data imported
| SCCM table | Staging table | CMDB table |
|---|---|---|
|
SCCM <version> Computer Identity [imp_sccm<version>_computer_id] | Computer [cmdb_ci_computer] |
| v_GS_Disk | SCCM <version> Disk [imp_sccm<version>_disk] | Disk [cmdb_ci_disk] |
| v_GS_Network_Adapter_Configuration | SCCM <version> Network [imp_sccm<version>_network] | Network Adapter [cmdb_ci_network_adapter] |
| v_GS_Operating_System | SCCM <version> Operating System [imp_sccm<version>_os] | Computer [cmdb_ci_computer] |
| v_GS_Processor | SCCM <version> Processor [imp_sccm<version>_processor] | Computer [cmdb_ci_computer] |
|
SCCM <version> Software [imp_sccm<version>_software] |
|
SCCM data sources
The ServiceNow® SCCM integration uses JDBC data sources to import software data from the SCCM database. Each data source contains the connection specifics for the SCCM database and names the MID Server the instance will use to import the data. The transforms that map the SCCM fields to the CMDB are defined in a related list in each data source record.
Transform maps
Transform maps are accessed from the Transforms related list in each data source record. The source fields in SCCM and the target fields in the CMDB are listed in the Field Maps related list in each Table Transform Map record. The SCCM integration uses the transform map utility provided with the ServiceNow® platform. For instructions on editing or creating a transform map, see Transform maps.
- Incremental Import: Enabled by default. This map should be configured as Active when ServiceNow® Software Asset Management is not enabled on the instance.
- Incremental Import (SAM enabled): If the Software Asset Management plugin is activated, set this transform to Active
Transforming the assigned user
The SCCM <version> Computer Identity transform script attempts to set the Assigned to field in the CMDB record by looking up the name of the user in the SCCM source table and comparing the value with the matching field in the ServiceNow sys_user table. If a match is found, that user is assigned to the record. If no match is found, the Assigned to field is left blank. The matching field is controlled by the glide.discovery.assigned_user_match_field system property, which is set to user_name by default.
Identifiers
The SCCM integration uses CI identification to update CIs created from data imported from SCCM with a resource ID. The Hardware Rule identifier returns the resource ID of a computer from SCCM and stores it in the Source [sys_object_source] table. When resource IDs are first imported, either from SCCM or Discovery, the [sys_object_source] table is populated with IDs for each CI it identifies. In subsequent imports, if an incoming ID matches that of an existing CI, IRE (Identification and Reconciliation Engine) updates the information for that CI in the CMDB. If the incoming resource ID does not match that of an existing CI, IRE creates a new CI and populates it with the resource ID.
For more information about CMDB Identification and Reconciliation and IRE, see CMDB Identification and Reconciliation.
Upgrades from pre-Geneva versions still preserve the legacy identifiers, but you can switch
to the new identifiers using a property:
glide.discovery.use_cmdb_identifiers. If you upgraded from a pre-Geneva
version, you must manually add this property and set it to true to
use the new identifiers. If you upgraded from Geneva, this property is available in the
System Properties [sys_properties] table. To preserve functionality in custom legacy
identifiers, convert them to the new CMDB identifier rules format before enabling this
property. The system does not reconfigure your custom identifiers to the new framework
automatically.
Scripts
Data population scripts populate the related data in the CMDB for each target CI discovered by the Hardware Rule identifier.