SCCM data import process and source tables

  • Release version: Zurich
  • Updated July 31, 2025
  • 4 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of SCCM data import process and source tables

    The Microsoft SCCM integration with ServiceNow Zurich release enables automated import of SCCM data into the ServiceNow CMDB. A scheduled import process, managed by a MID Server, retrieves SCCM data and loads it into staging tables in the ServiceNow instance. Transform maps then map and update this data into CMDB tables, ensuring consistent and accurate configuration item (CI) records.

    Show full answer Show less

    Data Import Process

    • SCCM data imports are triggered by a schedule named SCCM System <version> Import, which can run immediately or at defined intervals.
    • A MID Server fetches SCCM data into import set staging tables.
    • Transform maps process and map data from staging tables to appropriate CMDB tables.

    Source and Target Tables

    The integration imports key SCCM source tables into corresponding ServiceNow staging tables and then into CMDB target tables. For example:

    • Computer-related data (vGSComputerSystem, vGSWorkstationStatus, etc.) into cmdbcicomputer.
    • Disk data into cmdbcidisk.
    • Network adapter data into cmdbcinetworkadapter.
    • Software data into cmdbcispkg and cmdbsoftwareinstance, or cmdbsamswinstall if Software Asset Management (SAM) is enabled.

    SCCM Data Sources and Transform Maps

    • The integration uses JDBC data sources to connect to the SCCM database, specifying connection details and the MID Server.
    • Transform maps define how SCCM source fields map to CMDB target fields, accessible via the data source record.
    • Two software incremental transform maps exist: one for standard imports and one for instances with SAM enabled. Only one can be active at a time.
    • For a one-time full software import, clear the Last run datetime on the data source; subsequent imports should use incremental transforms for efficiency.

    Assigned User Mapping

    The transform script attempts to populate the Assigned to field on CI records by matching SCCM user names to the ServiceNow sysuser table, controlled by the glide.discovery.assignedusermatchfield system property (default is username).

    Identification and Reconciliation

    • SCCM integration uses resource IDs to identify and update CIs via the Identification and Reconciliation Engine (IRE).
    • New or matching resource IDs update or create CI records accordingly in the CMDB.
    • Upgrades from pre-Geneva versions require manual configuration of the glide.discovery.usecmdbidentifiers property to utilize new identifier rules.
    • Legacy custom identifiers must be converted to the new format before enabling this property.

    Software Data Handling

    • The integration reconciles software package counts and removes software instances from CIs when uninstalled.
    • Populates appropriate software tables depending on whether SAM is enabled.
    • Complete CI data is required; partial imports may inadvertently delete active relationships in the CMDB.

    Practical Implications for ServiceNow Customers

    • Automated SCCM data imports maintain an accurate and up-to-date CMDB reflecting SCCM-managed infrastructure.
    • Proper configuration of data sources, MID Servers, and transform maps is essential for successful integration.
    • Understanding identifier management ensures accurate CI reconciliation and prevents duplication.
    • Enabling Software Asset Management affects which transform map to activate and how software data is stored.
    • Careful handling of full versus incremental imports optimizes performance and data integrity.

    The Microsoft SCCM versions supported in the ServiceNow® platform offer identical features and the same imported data.

    Data import process

    1. 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.
    2. A MID Server retrieves the SCCM data and imports it into staging tables on the instance.
    3. Transforms run on the data in the staging tables and map the SCCM data to existing fields in the CMDB.

    SCCM data imported

    This table shows the SCCM source tables, the corresponding import set staging tables in the ServiceNow® instance, and the target tables in the CMDB.
    SCCM table Staging table CMDB table
    • v_GS_Computer_System
    • v_GS_Workstation_Status
    • v_GS_System
    • v_GS_PC_Bios
    • v_GS_Operating_System
    • v_GS_Computer_System_Product
    • v_GS_System_Enclosure
    • v_GS_Baseboard
    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]
    • v_GS_Add_Remove_Programs
    • v_GS_Add_Remove_Programs_64
    SCCM <version> Software [imp_sccm<version>_software]
    • Software [cmdb_ci_spkg]
    • Software Installation [cmdb_sam_sw_install] (when Software Asset Management is enabled*)
    *For more information about Software Asset Management and how to enable it, see Request Software Asset Management.

    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.

    The SCCM integration provides two transform maps for incremental software imports. Only one transform map can be enabled (Active) at a time.
    • 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
    Note:
    To force a one-time full import of all software data from the SCCM database, clear the value in theLast run datetime field on the data source. This operation can take a long time to execute, so the most efficient method is to use an incremental transform after the first full import.

    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.

    Software

    The Microsoft SCCM integration reconciles the software package count in the records for a CI and removes a software instance from the Software Instance [cmdb_software_instance] table if the software package is uninstalled from the CI. For a full software import, the transform populates the Software [cmdb_ci_spkg] and Software Instance [cmdb_software_instance] tables. If the Software Asset Management plugin is enabled, the transform populates the Software Installation [cmdb_sam_sw_install] table.
    Note:
    The table data imported from SCCM must contain complete data for the CI. The instance assumes that the import represents all relationships that exist and adjusts the CMDB accordingly. Partial data received from SCCM tables can cause the deletion of active relationships.