Reporting on Machines

(imported topic written by CCupit91)

Is there any way to input a list of machines and report back specific retrieved properties against those machines?

(imported comment written by rad.ricka91)

Hi CCupit,

I do something similar with MS-SQL Reporting Services, obviously this is out of scope of the original product and there are further deployment considerations, but in the end it lets you run very much arbitrary reports using native SQL. I find this little cleaner and easier to understand then the mix of html, relevance and javascript in the BES reports…

R.

(imported comment written by SystemAdmin)

CCupit,

You could take a custom action and feed in the list of computers. Then go to the action it creates, look at the computers tab. It will have a list of all the computers and you can select various properties by right-clicking on the column headings.

Alternatively, you can select all the computers on the Computers tab, right-click and select ‘View As Group’. This will create an Ad-Hoc computer group with property, Fixlet and action information for this set of computers.

Be careful feeding in large lists of computers though, the action it creates can get large if you feed in hundreds or thousands of computers.

(imported comment written by ryansmith91)

There is a ton of data kept in the BigFix SQL database. Any chance BigFix plans on making a better data mining interface for reporting? Nothing wrong with the current reporting system for basic reports…but seeing some limitations for what I’d like to be able to pull out of the system.

(imported comment written by jessewk)

Ryan, why don’t you start a new topic with details on the report you’d like to generate and we 'll see if there is anything we can do to help you out.

(imported comment written by BenKus)

Hey Ryan,

The custom reports in BES 6.0 are designed to give almost any report in almost any format without needing to be a SQL Server expert (which can be complicated and can put strain on the database). The custom reports have a very nice advantage that they are easy to use (no need to create a separate script or application to mine the database and put the results into a separate interface for reports).

The only trick is that you need to know how to use our session relevance to create reports (with some HTML and maybe some javascript). We can help with that if you want to post up some reports you want.

Ben

(imported comment written by ryansmith91)

Ben,

Been doing some reading in the Session Library PDF. The sections I’m needing though don’t have enough examples. One of the reports I’m trying to produce is a workstation baseline using a property I’ve created.

Here is the property I’m using (named it “Workstation Baseline - Trend Not Installed or Not Running”):

(string value of selects “caption from win32_operatingsystem” of wmi contains “Professional”) and (not (exists service “ntrtscan”) or (state of service “ntrtscan” = “Stopped”))

I used Jesse’s info on how to filter out results, but the reports aren’t quite as pretty as some here would like. I would like to display the following…

Status | Computer Name | Last User Logon (domain account)

Think you can get me started?

Thanks for your help!

(imported comment written by BenKus)

Hey Ryan,

I would like to help, but I am a bit confused by what you want… Are you saying you want a report that has a table that looks like:

property value “Workstation Baseline - Trend Not Installed or Not Running” | computer name | property value “Last User Logon (domain account)”

Ben

(imported comment written by rad.ricka91)

This is with the currently logged on user (property ‘User Name’), but if you already have the last user logon (domain) one, you can easily replace it in the query.

SELECT A.Value as ComputerName, B.Value as UserName, C.Value as TrendStatus

FROM

(SELECT ComputerID, Value

FROM BES_COLUMN_HEADINGS

WHERE Name LIKE ‘Computer Name’

)A

LEFT JOIN

(SELECT ComputerID, Value

FROM BES_COLUMN_HEADINGS

WHERE Name LIKE ‘User Name’

)B ON A.ComputerID = B.ComputerID

Left JOIN

(SELECT ComputerID, Value

FROM BES_COLUMN_HEADINGS

WHERE Name LIKE ‘Trend Micro OfficeScan Client Current Status’

)C ON A.ComputerID = C.ComputerID

ORDER BY A.Value

Regards,

Rad

(imported comment written by ryansmith91)

Ben Kus

Hey Ryan,

I would like to help, but I am a bit confused by what you want… Are you saying you want a report that has a table that looks like:
property value “Workstation Baseline - Trend Not Installed or Not Running” | computer name | property value "Last User Logon (domain account)"
Ben

Correct. I’d like to set this up as a custom report and then be able to store and email it to our desktop support group. If I can get the basic syntax down with an example, I’m sure I’ll be able to play with it a bit and use for other reports as they are requested.

Thanks!

(imported comment written by jessewk)

Ryan,

This report is very similar to the one discussed in this topic:

http://forum.bigfix.com/viewtopic.php?id=211

Here’s some code that will work for you, except you will need to replace the names of the 2 properties with the properties you’d like in the report:

<?relevance trs of ( td of value of result ( it, bes property "__Critical Patches Required" ) & td of name of it & td of value of result ( it, bes property "OS" ) ) of bes computers whose ( exists result ( it, bes property "__Critical Patches Required" ) whose ( exists value of it AND error flag of it = false AND exists tuple string item 0 of value of it ) AND exists result ( it, bes property "OS" ) whose ( exists value of it AND error flag of it = false AND exists tuple string item 0 of value of it ) ) ?>
Critical Patches Required Computer Name OS