We have FNMS 2019 R2 on-premises and integrate SCCM into FNMS.
We have observed data discrepancy issue between SCCM to FNMS and FNMS to SCCM.
Machines which are available in SCCM but not reflecting in FNMS. Daily Integration works without any error.
Can someone provide the details of How SCCM Integration works and what is the criteria to Import SCCM Inventory into FNMS?
May 29, 2020 07:24 AM
Hi @msutharh ,
If SCCM not work correctly and you see some devices that are missing then you can do the following:
Do you have a have also a CMDB import in place, may be the missing devices are marked as retired in CMDB then you will not see it in your reports.
Also an other thing that you may check if the device in SCCM changed the name, I observed this behavior if in SCCM the name is changed, in FNMS will remain with old name, may be you can check the missing devices after serial number, if it's available.
Jun 02, 2020 03:17 AM
The default integration should import all machines from SCCM into FNMS and remove from FNMS what is no longer available in SCCM. However, in some cases it gets a bit more complex.
You could start comparing the following tables:
This should allow you to understand which inventopry got created from which source, where source data went missing, where stuff got matched.
Jun 02, 2020 08:13 AM
Also keep in mind that FNMS will take the data from SCCM and attempt to consolidate duplicates. When a computer gets re-imaged with a different computer name, it is common for SCCM to report that as a new end point. In SCCM you may have multiple end points in the database with different computer names, but the same Serial Number. FNMS would consolidate these duplicates into a single Inventory Device, based on SCCM Last Inventory Date.
Jun 02, 2020 08:39 AM
Hi @kclausen ,
I have a questions, if the Flexera are consolidating the duplicated into one, taking in consideration the last inventory date, why the host name is not changed in the FNMS.
This is a puzzle for me, as if I check the importedcomputer table, I can see the correct name, but in FNMS the name is different, same serial number and same connection id.
I tried also manually the delete from FNMS the inventory and let the system recreate it, but it still showing up with the old host name.
Jun 03, 2020 01:08 AM
The specific mapping of multiple source data sets into one inventory can be more complext then just computer names and serial numbers.
I believe duplicates from the same source, like duplicates from the same SCCM, are not merged. Inventories from different sources are.
Do you have any other data sources attached, e.g. the FNMS Agent?
Jun 03, 2020 01:50 AM
I checked and the computer come only from one data source, SCCM. I checked in importedcomputer table after serial number, is only one entry and have the correct name, but in FNMS other name is assigned to the same serial number.
Also correct me if I'm wrong, when you install an agent on server, the data are collected in IM (Inventory Manager) database and with the nightly reconcile they are imported in importedcomputer table and from there in compliancecomputer table.
I found some AIX 7.1 servers, that are in IM database correctly imported but they are not showing up in importedcomputer or in compliancecomputer tables, and they have Oracle installed, and oracle is imported, but they are missing the inventory , again a big puzzle.
Jun 03, 2020 06:53 AM
@adrian_ritz1 - Get the ComplianceComputerID value from the ComplianceComputer table for the Inventory Device in question. Then, find the rows in the ImportedComputer table with the same ComplianceComputerID - multiple rows may indicate source inventory being merged together. The ComplianceConnectionID column in ImportedComputer table indicates the source of inventory.
Jun 03, 2020 08:17 AM
@kclausen , should not use the compliancecomputerconnection table, because the compliancecomputerid is not the same in the importedcomputer table
I use the following SQL to track data from compliancecomputer to importedcomputer table
select * from ComplianceComputer where compliancecomputerid=(select ComplianceComputerID from ComplianceComputerConnection where ExternalID=(select ExternalID from ImportedComputer where ComputerName like 'mycomputer'))
I change the mycomputer with the host name that I want to check
Jun 03, 2020 08:35 AM
@adrian_ritz1 - You can reverse engineer from a Compliance Computer record backwards to the 1 or more inventory sources that were merged together into the single Inventory Device. With the following SQL, you can provide either the Computer Name or the Serial Number of an inventory device to get that information:
c.ComputerName as 'InventoryDeviceName',c.SerialNo as 'InventoryDeviceSerialNo',c.InventoryDate as 'InventoryDate',
ic.ComputerName as 'ImportedComputerName',ic.SerialNo as 'ImportedComputerSerialNo',ic.InventoryDate as 'ImportedComputerInventoryDate',
cc.ConnectionName as 'InventorySource'
FROM ComplianceComputer c
JOIN ImportedComputer ic on ic.ComplianceComputerID=c.ComplianceComputerID
JOIN ComplianceConnection cc on cc.ComplianceConnectionID=ic.ComplianceConnectionID
WHERE c.ComputerName='xxxxxxx' --Search for Inventory Device by Computer Name
--WHERE c.SerialNo='yyyyyyyyyy' --Search for Inventory Device by Serial Number
Jun 03, 2020 09:41 AM