The Community is now in read-only mode to prepare for the launch of the new Flexera Community. During this time, you will be unable to register, log in, or access customer resources. Click here for more information.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Update SCCM readers to just import servers

craig_moore
By
Level 6

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

 

(1) Solution

mfranz
By Level 17 Champion
Level 17 Champion

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

View solution in original post

(8) Replies

mfranz
By Level 17 Champion
Level 17 Champion

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

DAWN
By Level 5 Flexeran
Level 5 Flexeran
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
By Level 17 Champion
Level 17 Champion

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.

BradAkers
By Level 5 Flexeran
Level 5 Flexeran

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

mfranz
By Level 17 Champion
Level 17 Champion
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).

BradAkers
By Level 5 Flexeran
Level 5 Flexeran

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
By Level 20 Flexeran
Level 20 Flexeran

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
By Level 5 Flexeran
Level 5 Flexeran

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.