Automate the inventory device status from ignored to Active using the changes in Last inventory date
we have a requirement that when an inventory device is in ignored state and if the last inventory date got refreshed to the latest date and its reporting back to Flexera recently is there a possibility to make the status of those devices back to active automatically in an on-prem setup and don't want to use a business adapter?
I can't think of any built-in capability to automate a status change like this. For a FlexNet Manager Suite On-premises deployment you would have to look at some kind of manipulation of records in the database - either with a business adapter or some other mechanism that involved direct database access.
@winvarma I have developed a business adapter for our customers that checks the last inventory date. If it is older than a certain date (in our case we use older than 90 days from today) then it gets set to ignored, if the device receives a newer inventory (last inventory date is less than 90 days from today) it sets the device status to active in the case of a refresh or if the machine comes back online after network issues. I can share that here if you feel it would be helpful for you.
That would be a really interesting adapter to see if you're able to share it thanks @dbeckner!
@ChrisG The SQL is pretty simple for this actually. We use separate adapters for devices inventoried by FlexNet Inventory Agents and SCCM-based devices because we use different time frames for them but the InventoryAgent qualifier just needs to be updated for that. If there is no differing timeframe then it could all be done through a single adapter. We run this on a nightly schedule set to run after the reconciliation completes. I've found this to be really useful since when devices that are inventoried only by the FlexNet Inventory Agent are removed from the network the device will continue to report into FNMS until it is handled manually.
Additionally, the Serial Number is the property we use for matching in the adapter since it is less likely to be a dynamic value vs computer name or IP address. Thinking on it now I suppose MAC Address could also be used for matching as well.
Another customization we've made to this adapter is we have some devices that have a specific naming convention that we know are going to not report new inventory for 3-6 months at a time due to specific business requirements for those machines. To handle those machines we add additional "Where" statements to not include machines with names that have that naming convention. i.e.
'WHERE ComputerName NOT LIKE 'ABC%' OR 'DEF%'
Open to suggestions for enhancing this adapter if you see anything.
SELECT ComputerName, InventoryAgent, InventoryDate, SerialNo, ComplianceComputerID, CASE WHEN InventoryDate < DATEADD(day, -90, GETDATE()) THEN 'Ignored' WHEN InventoryDate > DATEADD(day, -90, GETDATE()) THEN 'Active' END AS Status FROM [FNMSCompliance].[dbo].[ComplianceComputer_MT] WHERE ComplianceComputerID IS NOT NULL AND InventoryAgent = 'SMS'
Attached 2 example adapters