/build/static/layout/Breadcrumb_cap_w.png

Custom Inventory Rules and Reporting

I need to create a report that lists the version of Microsoft Office installed on each computer in my inventory as well as Microsoft Office's install date. I've kind of been able to gather what needs to be done to achieve this in regards to creating a custom inventory rule that reads the install date from the registry from some of the other questioned asked here, but I'm encountering a few issues:

If I already know that we only have Microsoft Professional Plus 2007/2010/2013 on our machines, is it possible to reference retrieving their install dates in a single custom rule, or do I have to make a custom rule for each version?

How do I apply a custom rule to my machines? 

How can I call information from a custom rule within a SQL Report Query?

I have been testing this Custom Inventory Rule to try to get Office Professional Plus install dates:

RegistryValueReturn(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90140000-0116-0409-1000-0000000FF1CE}, InstallDate, NUMBER)


4 Comments   [ + ] Show comments
  • Chucksteel I treid your query but I ge the following SQL eror
    mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SOFTWARE_ID = 2777 LIMIT 0' at line 1] in EXECUTE(
    "SELECT MACHINE_CUSTOM_INVENTORY.*, MACHINE.NAME FROM ORG1.MACHINE_CUSTOM_INVENTORY JOIN MACHINE on MACHINE.ID = MACHINE_CUSTOM_INVENTORY.IDWHERE SOFTWARE_ID = 2777 LIMIT 0")

    Any ideas? - Mariusja 10 years ago
    • There should be a space between MACHINE_CUSTOM_INVENTORY.ID and WHERE in the last line that you pasted. I don't know if it's just not being displayed or if there actually isn't one there. Also, putting a LIMIT 0 on the end might be a problem. - chucksteel 10 years ago
    • I've changed a bit around. My current Custom Inventory Rule is:

      RegistryValueReturn(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90140000-0011-0000-0000-0000000FF1CE}, InstallDate, NUMBER)

      And this is the report I run for it:

      SELECT MACHINE_CUSTOM_INVENTORY.*, MACHINE.NAME
      FROM ORG1.MACHINE_CUSTOM_INVENTORY JOIN MACHINE on MACHINE.ID = MACHINE_CUSTOM_INVENTORY.ID
      WHERE SOFTWARE_ID = 15674;

      The software ID of course matching that of the custom inventory rule. I don't know off the top of my head why your query didn't work for you. - RGaspari 10 years ago
      • This is the inventory rule I am using:
        FileInfoReturn(C:\Desktop\_util\Printer Driver\Samsung M 4020\Driver\LICENSE.txt, ModifiedDate, DATE)

        and my software ID is 2777 - Mariusja 10 years ago
  • My query looks like this

    SELECT MACHINE_CUSTOM_INVENTORY.*, MACHINE.NAME FROM ORG1.MACHINE_CUSTOM_INVENTORY JOIN MACHINE on MACHINE.ID = MACHINE_CUSTOM_INVENTORY.ID WHERE SOFTWARE_ID = 2777;

    The first one I posted was the SQL error I received when trying to run this query. - Mariusja 10 years ago
    • Does the software ID (2777) match that of your custom rule? - RGaspari 10 years ago
  • Yes it do match but as far as I know even if the id is incorrect the query should still work. It is just that there will be nothing in your report when you run it ? - Mariusja 10 years ago
    • That sounds right to me, but I'm still about as lost as you are. I still don't even know how I got mine somewhat working, and it still isn't working the way I want it to. - RGaspari 10 years ago
  • Lets wait maybe the pro's can assist with this one - Mariusja 10 years ago
    • Do you have multiple organizations? I only have one org on my KBOX so I never have to worry about the separate tables but if you have multiple orgs the query will have to be adjusted. - chucksteel 10 years ago
      • No, we only have one organization. - RGaspari 10 years ago
      • Are you using a tool like MySQL Workbench to run your queries or just putting them into the reporting module? Using a tool like MySQL Workbench makes trouble shooting syntax errors much easier. - chucksteel 10 years ago

Answers (2)

Posted by: jknox 10 years ago
Red Belt
0

Create a custom software inventory item and use your custom inventory rule in it.  You can then report on the software title in your custom inventory item.


Comments:
  • I had already created the custom software inventory item, but how do I reference it in a SQL report? - RGaspari 10 years ago
Posted by: chucksteel 10 years ago
Red Belt
0

When you create a custom inventory rule you are creating a software title and it will be assigned an ID. If you login to your KBOX using the adminui URL the software ID will be displayed in the URL when viewing the rule. 

The returned data is then listed in the MACHINE_CUSTOM_INVENTORY table. To get a list of Install Dates per machine you could perform the following query:

 SELECT MACHINE_CUSTOM_INVENTORY.*, MACHINE.NAME FROM ORG1.MACHINE_CUSTOM_INVENTORY JOIN MACHINE on MACHINE.ID = MACHINE_CUSTOM_INVENTORY.IDWHERE SOFTWARE_ID = 31484;

Be sure to change the SOFTWARE_ID = 31484 to match the software ID of your custom inventory rule. The specific value you're looking for will be in the NUM_FIELD_VALUE column although you really should be using a date since you're collecting a date. 


Comments:
  • So I've replaced the 31484 with the ID of my custom rule (15674) and made a report from what you gave me, but the report still shows nothing. Is my custom rule not being applied to the machines in my inventory? - RGaspari 10 years ago
    • When you look in the inventory for a machine that should have a value does it have one in the Custom Inventory Fields section? If not then try forcing an update on the machine to make sure it has updated its inventory. If it still doesn't have a value then there is something wrong with the rule. - chucksteel 10 years ago
      • It looks like the rule isn't being applied to any machine in the inventory. How can I make it apply to every machine? - RGaspari 10 years ago
      • Did you double check the Supported OS versions? The rule looks fine otherwise. - chucksteel 10 years ago
      • I have every OS selected. - RGaspari 10 years ago
      • I'm not sure what the issue might be, then. I don't have that exact registry entry on my machine but I do have HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90150000-0011-0000-0000-0000000FF1CE} for Office 2013 (technically it's for Microsoft Office Professional Plus 2013) and it's working for me. What version of the AMP Agent are you running? Some of the older clients had bugs related to custom inventory fields but I can't remember what was fixed when. - chucksteel 10 years ago
      • We're using Agent Version 5.5.30275. I changed the Custom Inventory Rule to the following:

        RegistryValueReturn(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90140000-0011-0000-0000-0000000FF1CE}, InstallDate, NUMBER)

        Since most machines have Office 2010. Now I have about 32 machines being listed under the Software Deployment Detail list, and the report runs perfectly, but I'm still unbelievably confused about how this works, especially due to the fact that I don't have that registry item on my personal machine, but it's being registered by the custom inventory rule as if I do. Am I missing/misunderstanding something? I feel like I'm still doing something wrong here. - RGaspari 10 years ago
      • Is there a possible 32bit vs 64bit issue? When I tried to run the rule on a 64bit machine it did not work. - chucksteel 10 years ago
      • That's what I thought at first, but my machine (and 95% of the other machines at my office) is 64-bit. - RGaspari 10 years ago
      • Are you using 32 bit version of Office? If so, on a 64 bit machine the key should show under HKLM\Software\Wow6432Node\Microsoft if you look manually in regedit. The Kace agent is 32 bit, so it sees this Wow6432Node area as HKLM\Software\Microsoft - SDNBTP 10 years ago

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ