Some users may have issues creating a community account See more here.

craig_moore
Active participant

Update SCCM readers to just import servers

Jump to solution

FNMS 2018 R1

We have a requirement to just import Windows server OS inventory devices into FNMS.  Is there a way to update SCCM import procedure to just import windows server devices and NOT other windows devices?

 

Thanks

 

0 Kudos
1 Solution
mfranz
Trusted advisor

Hi Craig,

You will need to apply some changes to the SMS (SCCM) reader. Having a backup or creating a copy and renaming it (e.g. "SMS_Server") to not mix it with the original adapter, might be useful here. Then open your copy of the reader using the Inventory Adapter Studio.

There is one central import step you need to look for. It is called "BuildRelevantComputerList". All filters applied here, will define what computers and related objects are imported. Just go for the WHERE statements and add your filters as needed. You might want to join additional tables/views, if the needed info is not contained in the statement yet.

To be completely correct, you will need to apply similar settings to "GetDeletedComputerList" as well. So that machines, not matching your filter, will be properly removed during the reader run.

Best regards,

Markward

Softline Group is Europe's leading independent expert in Software Asset Management.

View solution in original post

8 Replies
mfranz
Trusted advisor

Hi Craig,

You will need to apply some changes to the SMS (SCCM) reader. Having a backup or creating a copy and renaming it (e.g. "SMS_Server") to not mix it with the original adapter, might be useful here. Then open your copy of the reader using the Inventory Adapter Studio.

There is one central import step you need to look for. It is called "BuildRelevantComputerList". All filters applied here, will define what computers and related objects are imported. Just go for the WHERE statements and add your filters as needed. You might want to join additional tables/views, if the needed info is not contained in the statement yet.

To be completely correct, you will need to apply similar settings to "GetDeletedComputerList" as well. So that machines, not matching your filter, will be properly removed during the reader run.

Best regards,

Markward

Softline Group is Europe's leading independent expert in Software Asset Management.

View solution in original post

This is "spot on" for a single tenant, On Prem FNMS Implementation. As an FYI for Cloud and multi-tenant implementations - OOTB Inventory Adapters unfortunately cannot be modified in this manner for a single tenant at this time. The Inventory Adapter code is updated from the "master" prior to any imports and your updates will be removed. Additionally, if you "disconnect" the beacon in order to run the inventory, there is an additional hash check to ensure that no code in the Inventory Adapter was changed and the inventory will be discarded and not loaded.
mfranz
Trusted advisor

Thanks für pointing that out. In the case of FNMS Cloud, a local staging database can be used to stage only wanted machines and then run the inventory reader on this filtered subset of data.

Softline Group is Europe's leading independent expert in Software Asset Management.
0 Kudos

This method could work but that local stage must match the schema of SCCM exactly still. 

Interesting side note: While most SCCM tables and views used by the reader, can be staged easily, the reader also uses a funtion (fn_ListApplicationsCIs). This is where things may get complicated (and where I decided to change the reader instead - in an on premise environment).
Softline Group is Europe's leading independent expert in Software Asset Management.

What I normally do is actually do a backup and restore of the actual SCCM database then have a script that removes the unwanted machines from the database. It is not a fun solution but it works. 

ChrisG
Community Manager Community Manager
Community Manager

If you take the approach of duplicating the source SCCM database and then modifying the source data before it is imported into FlexNet, the following query can be used as a starting point for how to mark records in the System_DISC table so they do not get imported:

UPDATE System_DISC
SET Obsolete0 = 1
WHERE ISNULL(Obsolete0, 0) = 0
AND <Insert whatever condition(s) you want here to identify computers that should not be imported into FlexNet>

 

(Did my reply solve the question? Click "ACCEPT AS SOLUTION" to help others find answers faster. Liked something? Click "KUDO". Anything expressed here is my own view and not necessarily that of my employer, Flexera.)
BradAkers
Flexera
Flexera

For Cloud customers, we normally recommend that a customer creates a business adapter to mark all non-servers as ignored to allow for no customizations to adapters.