Is it possible to have a report that shows the software that has been installed in the last month? I have a feeling you cannot but who knows?
@skourit, sadly the "Installed on" date is not something that is captured by the Add/Remove Audit, so you can't report on it.
You could create an InfoCenter report (applications) that listed all the .exe files. Sadly I don't think you can filter on the "Last Modified Date", so unless you want to create a report with a few hundred thousand lines, dump it in to Excel so you can filter it, I don't think that is going to be a good solution.
I think this would probably be an agent procedure. I will check with my script guru and see what he thinks.
One would expect basic information like this to be standard. Not so with Kaseya.
A little inside information as far as the shortcoming: http://community.kaseya.com/xsp/f/139/t/23926.aspx
This can be done by using the Report Part - Software Licenses with the Installed column. It is a different table from the Add/Remove part so the data presented may differ.
Additionally you could enable monitoring in Monitor > Alerts to generate an alarm when new Software is detected via Audit Scans then build a report based on these alarms.
ryan.lora, I thought the Software Licenses only showed, well, Software Licenses? When skourit asked the question, it gave me a great idea for a new script for ClubMSP. We are putting the finishing touches on it, and will publish on Friday.
First version of the script will simply show all installed software in the last x days (variable you can set). BTW, this is NOT easy. The install date you see in Add/Remove programs is a query of 3 different registry keys!
The 2nd version of the script is going to be a killer (assuming we can get it working!). I have asked for a filter list, so that you can build a list of the software you DON'T care about (i.e. update to Adobe, Chrome, Firefox, Kaseya, etc.), and ONLY show new/changed software that is not on the list. This one we will send an email for as well. (We will still write to the Agent Procedure log so you can run a report).
@skourit PM me your email address, and I will send you the script as a "thank you" for the inspiration!
ryan.lora - a bit ridiculous. The data should be in the dbo.windowsAddRemProg table which Kaseya is apparently oblivious to the need for compliance customers. A rather simple request....and we are still waiting 11 years later.
Chris Amori That sounds a bit tedious for a minor amount of information. Would really like to see what you come up with.
Tim Varvais , yeah, I fully agree that this should be something that Kaseya updates, but I am guessing they ran into the same thing we did. Microsoft must have a .dll or something that automatically pulls that data via machine code, since it is always updated in Add/Remove.
The first phase of the script is written and working, we will publish Friday. I am waiting on Phase II.
As mentioned by others this is missing from Kaseya (and the report set "Software Licenses" Report Parts only outputs a small subset of the software installed)
So you are only really left with the option of "building" your own..
An idea is to have a powershell script that can be executed on each machine (may be every day) that collects all installation program with its own install date and dumps this into a text file.
The file can be pushed to the Kaseya Server and then loaded in a custom SQL Table (that one can report for example using SSRS).
I did not make the whole procedure written down but I can give you few very important pieces (probably the most difficult ones)
a) The script to get the list of "applications installed" with the installation date and exports those to a file
(the script takes care of both 32 and 64 bit applications and gets the installed date by looking at the registry / or reading the LastWriteDate of the Registry key in case the information cannot be found anywhere else.
Also the script filters out all SystemComponents (same way this is done by the "Add/Remove screen"
b) a sample script showing you potentially how to read the CSV file into SQL Server.
You can find those by following this link.
You would still need to write the agent procedure that runs the power shell and complete the procedure that loads the CSV file (may be using my example as a start).
And finally build the report in SQL Server once the data is "home".
As for loading the CSV, you can do something like this:
CREATE TABLE [dbo].[custom_windowsAddRemProg](
[agentGuid] [numeric](26, 0) NOT NULL,
[displayName] [varchar](260) NOT NULL,
[key] [varchar](255) NOT NULL,
[DisplayVersion] [varchar](255) NULL,
[Publisher] [varchar](255) NULL,
[OSVersion] [varchar](255) NOT NULL,
[InstallDate] [varchar](255) NULL,
[uninstallStr] [varchar](516) NULL,
CONSTRAINT [PK_custom_windowsAddRemProg] PRIMARY KEY CLUSTERED
and then something similar to below.
DELETE from [custom_windowsAddRemProg] where AgentID = '636719387900423';
INSERT INTO [custom_windowsAddRemProg]
SELECT '636719387900423', [DisplayName], [Key], [DisplayVersion], [Publisher], [OSVersion], [InstallDate], [UninstallString]
FROM OPENROWSET(BULK 'C:\kworking\1AddRemovePrograms_636719387900423.csv', FORMATFILE= 'c:\kworking\schema.xml') AS a
Chris Amori How close are you on the Phase II?
Tim Varvais , all done. Ran into another tricky problem... What about software that is ONLY installed for a user? That doesn't show up in either of registry keys, so we had to write a routine that will parse through the entire "Users" hive and look for the software there, and report it. Work of art!
It is patch Tuesday week, so we didn't publish it yet, next week is Thanksgiving, so it should be published the Friday after (or maybe we can get to it before).