The SCCM Inventory Data Provider provides a way to import computer inventory data from SCCM into Matrix42 Asset Management. This article explains in detail which information is imported, what matching criteria is used for insert or update decision and how those attributes are mapped with the Asset Management data model.
Sections below explain details about the import by data category.
Domains
API function
GetComputers
Configuration Item
Domain
Matching
DomainName = SPSADDomainClassBase.DomainName
OR
NT4Name = RelatedSPSADDomainClassBase.NT4Name
Attributes
SCCM Table/View
SCCM Attribute
Key
Data Definition
Data Attribute
v_GS_COMPUTER_SYSTEM
Domain0
√
SPSADDomainClassBase
DomainName
v_GS_COMPUTER_SYSTEM
Domain0
√
SPSADDomainClassBase
NT4Name
Computers
API function
GetComputers
Configuration Item
Computer
Matching
Decision of inserting a new or updating an existing computer record is made in a multi-step approach:
Does a computer with the same SMSGuid exist: Yes => Update existing record. No => continue with Step 2.
Does a computer with the same Domain and Name exist? The answer is yes if one of these sets of conditions is met:
A name from SCCM matches the name in ESM.
DeviceID in ESM is empty.
A domain from SCCM is empty or the domain in ESM is empty.
OR
A name from SCCM matches the name in ESM.
DeviceID in ESM is empty.
A domain from SCCM matches the domain in ESM.
Yes => Update existing record. No => Create new computer record.
To update an existing record, the system matches computers by the DeviceID value.
Stock keeping units can be created during the import of computers. The Configuration Item field is filled in depending on whether the corresponding source information is available, while the Type value is left empty. It should be set manually.
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_R_System_Valid
Netbios_Name0
√
SPSComputerClassBase
Name
v_R_System
SMBIOS_GUID0
SPSComputerClassBase
BiosGuid
v_R_System
SMS_Unique_Identifier0
SPSInventoryClassBase
SMSGuid
v_R_System_Valid
Creation_Date0
SPSInventoryClassBase
FirstScanDate
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
v_GS_COMPUTER_SYSTEM
Domain0
SPSComputerClassBase
WindowsDomainName
v_GS_WORKSTATION_STATUS
LastHWScan
SPSInventoryClassBase
LastScanDate
[Literal value]
6
SPSAssetClassBase
ManagementType
[Literal value]
'SCCM Inventory'
SPSAssetClassBase
ObjectCreator
[Literal value]
'SCCM Inventory'
SPSComputerClassBase
Managedby
[Provider Configuration]
<status value>
SPSCommonClassBase
State
BIOS
API function
GetBios
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attribute
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_PC_BIOS
Manufacturer0
SPSComputerClassBase
BiosManufacturer
v_GS_PC_BIOS
ReleaseDate0
SPSComputerClassBase
BiosReleaseDate
v_GS_PC_BIOS
SerialNumber0
SPSComputerClassBase
SystemSerialNumber
v_GS_PC_BIOS
SerialNumber0
SPSAssetClassBase
SerialNumber
v_GS_PC_BIOS
Version0
SPSComputerClassBase
BiosVersion
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Processors
API function
GetProcessor
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_PROCESSOR
DeviceID0
√
SPSComputerClassProcessor
DeviceId
v_GS_PROCESSOR
Manufacturer0
SPSComputerClassProcessor
Manufacturer
v_GS_PROCESSOR
MaxClockSpeed0
SPSComputerClassProcessor
MaxSpeed
v_GS_PROCESSOR
NormSpeed0
SPSComputerClassProcessor
NormSpeed
v_GS_PROCESSOR
Name0
SPSComputerClassProcessor
Name
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Hardware
API function
GetHardware
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_COMPUTER_SYSTEM
Model0
SPSAssetClassBase
Model
v_GS_COMPUTER_SYSTEM
Manufacturer0
SPSAssetClassBase
ManufacturerName
[API Call]
GetPhysicalMemory( Hostname)
SPSComputerClassBase
Memory
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Disks
API function
GetDrives
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_LOGICAL_DISK
DeviceID0
√
SPSComputerClassDiskPartition
DriveLetter
v_GS_LOGICAL_DISK
FileSystem0
SPSComputerClassDiskPartition
PartitionType
v_GS_LOGICAL_DISK
FreeSpace0
SPSComputerClassDiskPartition
PartitionFreeSpace
v_GS_LOGICAL_DISK
Size0
SPSComputerClassDiskPartition
PartitionSize
v_GS_LOGICAL_DISK
VolumeSerialNumber0
SPSComputerClassDiskPartition
SerialNumber
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Video cards
API function
GetGraphicCard
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_VIDEO_CONTROLLER
Name0
√
SPSComputerClassGraphicCard
Model
v_GS_VIDEO_CONTROLLER
RevisionID
SPSComputerClassGraphicCard
BiosVersion
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Network Cards
API function
GetNetworkCard
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_NETWORK_ADAPTER
Name0
√
SPSComputerClassNetworkCard
Model
v_GS_NETWORK_ADAPTER
Manufacturer0
SPSComputerClassNetworkCard
Manufacturer
v_GS_NETWORK_ADAPTER_CONFIGUR
IPAddress0
SPSComputerClassNetworkCard
IPAddress
v_GS_NETWORK_ADAPTER_CONFIGUR
DefaultIPGateway0
SPSComputerClassNetworkCard
DefaultGateway
v_GS_NETWORK_ADAPTER_CONFIGUR
MACAddress0
√
SPSComputerClassNetworkCard
MACAddress
v_GS_NETWORK_ADAPTER_CONFIGUR
IPSubnet0
SPSComputerClassNetworkCard
SubnetMask
v_GS_NETWORK_ADAPTER_CONFIGUR
DHCPEnabled0
SPSComputerClassNetworkCard
DHCPEnabled
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Sound Cards
API function
GetSoundCard
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_SOUND_DEVICE
Name0
√
SPSComputerClassSoundCard
Model
v_GS_SOUND_DEVICE
Manufacturer0
SPSComputerClassSoundCard
Manufacturer
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Operating Systems
API function
GetOperatingSystem
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_GS_OPERATING_SYSTEM
ResourceID
√
SPSComputerClassBase
DeviceId
v_GS_OPERATING_SYSTEM
Caption0
SPSComputerClassOS
Name
v_GS_OPERATING_SYSTEM
CSDVersion0
SPSComputerClassOS
PatchLevel
v_GS_OPERATING_SYSTEM
Manufacturer0
SPSComputerClassOS
Model
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
Fingerprints
API function
GetAddRemovePrograms
Configuration Item
Fingerprint
Matching
Name=SPSApplicationClassBase.Name
AND
Manufacturer=SPSApplicationClassBase.Manufacturer
AND
Version-SPSApplicationClassBase.Version
AND
SPSApplicationClassBase.GlobalApp IS NULL
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_Add_Remove_Programs
DisplayName0
√
SPSApplicationClassBase
Name
v_Add_Remove_Programs
Publisher0
√
SPSApplicationClassBase
Manufacturer
v_Add_Remove_Programs
Version0
√
SPSApplicationClassBase
Version
[Literal Value]
'SCCM Inventory'
SPSApplicationClassBase
CreatedBy
[Literal Value]
31
SPSApplicationClassBase
DetectionType
Installed Applications
API function
GetAddRemovePrograms
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
v_R_System_Valid
ResourceID
√
SPSComputerClassBase
DeviceId
v_Add_Remove_Programs
DisplayName0
√
SPSInventoryClassApplication
ReportedApplication
v_Add_Remove_Programs
Publisher0
√
SPSInventoryClassApplication
ReportedApplication
v_Add_Remove_Programs
Version0
√
SPSInventoryClassApplication
ReportedApplication
v_RA_System_SMSAssignedSites
SMS_Assigned_Sites0
√
SPSInventoryClassBase
SMSSiteCode
[Literal Value]
1
SPSInventoryClassApplication
Installed
[Dynamic Value]
<current date/time>
SPSInventoryClassApplication
LastSyncDate
Reported Application: Relation to Fingerprint (SPSApplicationClassBase) is established by matching Name = ProductCode and Manufacturer = Publisher and Version = Version.
Application Usage
API function
GetAUT
Configuration Item
Computer
Matching
DeviceID=SPSComputerClassBase.DeviceID
Attributes
SCCM Table\View
SCCM Attribute
Key
Data Definition
Data Attribute
System_DATA
MachineID
√
SPSComputerClassBase
DeviceId
Users
UserName
√
SPSComputerClassApplicationUsage
UserName
SoftwareFile
FileName
√
SPSComputerClassApplicationUsage
ApplicationName
SoftwareFile
FileVersion
√
SPSComputerClassApplicationUsage
ApplicationVersion
MeterData
MAX(EndTime)
SPSComputerClassApplicationUsage
LastUsageDate
[Literal Value]
'SCCM Data Provider'
SPSComputerClassApplicationUsage
CreatedBy
User Logins
Supported only if SCCM has version 2012 R2 or higher.
API function
GetLogins
Configuration Item
Computer
Due to the current implementation of SCCM (external link), user login data in SCCM may be not accurate and therefore user logins imported into Matrix42 Enterprise Service Management may be missing some data as well.