Given a set of Fixlets and a group of Computers, the report will calculate the total compliance, as well as the compliance for individual computers.
There is a sister report that provides the compliance of each Fixlet, rather than by each Computer.
Installation:
Download the zip file ext-3.2.0-computercompliance16-asset12-fixletcompliance11.zip
Unzip to the BigFix Web Reports root directory, for example “C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot”.
You should have a \wwwroot\ext-3.2.0 directory.
If the \ext-3.2.0 directory already exists, the easiest is to rename it first.
Create the report by going to the Reports link/tab in Web Reports.
Scroll to the bottom to find button “Import Report”
Browse to the Fixlet Compliance by Computer Group v1.6.beswrpt
report file in the \ext-3.2.0 directory
It is in an XML format
Requirements:
The report works in both Web Reports version 7.2 and 8.0.
The charts require Flash Player 9.0 or above.
The export to Excel function requires Firefox.
This report does extensive JavaScript processing. IE7 is particularly slow in this regard. Please consider upgrading to IE8 or better still Firefox.
Safari is not supported because it does not allow the modification of script timeout period. For long running reports (say >5000 computers), Safari will timeout.
Bug Fixes/Enhancements:
2010-08-05 v1.6 Added line 47 in fixlet_compliance.js that allows different treatment for computers with 0 applicable Fixlets
The Content droplist will retrieve all baseslines and sites available to the login Web Report user.
There are a few pre-defined selections:
All Microsoft Critical Fixlets
All Patches for Windows (English) critical Fixlets, excluding corrupted or superseded patches.
Microsoft Patches (Current Period)
Automatically calculates the Fixlets published from the Patch Tuesday to the Monday before the next period. Excludes all corrupted or superseded patches.
Microsoft Patches (Previous Periods)
Same as above but for 2 previous periods.
Custom Relevance Expression - Provides a free form entry to specify a Session Relevance that returns a list of Fixlet objects.
For example,
bes fixlets whose (name of it as lowercase starts with “ms09-065”)
This will return all Fixlets with names starting with MS09-065.
Computer Group Droplist Filter
The Computer Group droplist will retrieve all computer groups available to the login Web Report user.
There are 2 few pre-defined selections:
All Computer
Straight forward retrieval of all computers. It is not a good idea to use this if there are too many computers. Always try with a smaller subset.
All Windows Computers
All computers with that has “win” in the operating system name.
Custom Relevance Expression - Provides a free form entry to specify a Session Relevance that returns a list of Computer objects.
For example,
bes computers whose (now - last report time of it < 7*day)
This will return all computers who have reported within the last week.
Compliance Grid
The Compliance grid displays individual computer compliance status against all the Fixlets selected.
Meanings for the various columns:
Applicable Fixlets
All the Fixlets that became relevant on the computer at some point. Let’s assume that a completely patched computer is added to the BigFix system, note that Applicable Fixlet will be zero because no Fixlets would have been evaluated as relevant. So the applicable count shows only results after the installation of the BigFix agent. Installed + Outstanding = Applicable.
Installed Fixlets
Any Fixlets first detected as relevant, which are now remediated.
Outstanding Fixlets
Fixlets that are still relevant.
Compliance
This percentage output is calculated with formula (Installed / Applicable) * 100.
The Export to Excel function uses a newer browser feature call Data URL. Unfortunately, the support across browsers is not consistent, and as this is written, it only works with FireFox or Safari.
Although the grid does paging, this is only a Client Side feature rather than true paging from the Server.
Outstanding Fixlet Grid
The Outstanding Fixlet grid displays all the Fixlets still relevant for the computer group selected.
Note that the grid currently limits the displayed data to 1000 items to prevent slow performance.
The items are grouped by Computer Name by default. However, it is possible to group them by the other columns, such as by Source Severity. Try this out by locating the Column Filter droplist on the column headings.
There are actually multiple places in the script that need to be modified.
You have edited the Session Relevance statement to retrieve the additional attributes, and there are at least 2 places that need to be changed. One is the JSON object that hold the return value, and the other is the Grid that displays the results.
Lee, This rocks. Thanks so much. It should be stickied at the top of the forum! One quick question, is there a way to print out the entire report as a single page or export is as a PDF?
Update: I just noticed that data for Windows 2008 R2 shows all 0’s for Applicable, Installed and Outstanding. Strange.
Update to my update: I don’t know how to read. After Lee spent his time with me, we figured out I was just reading the report wrong.
As for my question on printing, we were looking for a way to print out the report as a whole, not an actual single page but as one report. Talking with Lee, it is not possibly to print as one continuous report at this time.
The report cannot be printed as one continuous page.
Export as PDF needs to be done as printing to the PDF driver.
The report itself should have no bearing on Windows 2008 R2. It does not distinguish the OS in any way. I would love to help you figure out the problem. I will give you a ping via private message.
Hi Lee, this looks excellant - but (there’s always a but when a sentence starts like this one ) when I try and open the report all I see is:-
Important Information
Loading…
How long would you expect it to take to load in the information (we have 21,000 fixlets, 3800 tasks, 100 actions, 2000 computers and a handfull of baselines) ?
Could it be something to do with the fact that we don’t use the default BigFix ports?
This is a great report. I do occasionally get the error though:
Error: NETWORK_ERR: XMLHttpRequest Exception 101
unique values of (id of item 0 of it as string & “||” & name of item 0 of it & “||” & item 1 of it & “||” & item 2 of it & “||” & item 3 of it & “||” & item 4 of it & “||” & item 5 of it & “||” & item 6 of it & “||” & item 7 of it) of (applicable computers whose (exists name of it) of it, ("" & name of it & “”), (if (exists source severity of it) then ( if (source severity of it as lowercase contains “” or source severity of it as lowercase contains “”) then (“Unspecified”) else (source severity of it) ) else (“Unspecified”)), (if (exists source release date of it ) then ((year of it as string & “-” & month of it as two digits as string & “-” & day_of_month of it as two digits as string) of source release date of it as string) else “1000-01-01”), (if (exists category of it) then (if (category of it as lowercase contains “”) then (category of it as string) else (“Unspecified”) ) else (“Unknown”)), (if (exists download size of it) then ((download size of it) as string) else (“0”)),display name of site of it, applicable computer count of it as string) of (bes fixlets whose (fixlet flag of it = true and display name of site of it = “Patches for Windows (English)” and name of it as lowercase does not contain “corrupt patch” and name of it as lowercase does not contain “superseded” and source release date of it >= date “13 Oct 2009” and source release date of it <= date “09 Nov 2009”))
What causes this? Is there a fix?
I should also note that the “” & name of it & “” appears as a hyperlink. When clicked it leads to a HTTP/1.1 404 Not Found, with the URL:
I do not access to the server to dump the files you suggested into the Server. I have copied the Zip file contents into my local drive c:\Program Files\BigFix Enterprise\Client and then try to run it from the Web Client and it only reports the following.
Important Information
Loading…
Can you let me know if this report can be run from the client side without dumping the Zip file that you suggested to download onto the server?
I checked the directory structure as you suggested and yes - the files had unpacked to “C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\ext”
So I moved the ‘ext’ directory to “C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot\ext” and everything started working just fine.
As I also said in my email to you - this is wonderful addition to the Web Reports, I can now let my managers know that they can generate their own compliancy charts without me having to give them Console access to the SCM Dashboards.
o.k., thanks for the test. I tried it and it does not return anything, here is the session relevance:
unique values of (id of item 0 of it as string & “||” & name of item 0 of it & “||” & item 1 of it & “||” & item 2 of it & “||” & item 3 of it & “||” & item 4 of it & “||” & item 5 of it & “||” & item 6 of it & “||” & item 7 of it) of (applicable computers whose (exists name of it) of it, ("" & name of it & “”), (if (exists source severity of it) then ( if (source severity of it as lowercase contains “” or source severity of it as lowercase contains “”) then (“Unspecified”) else (source severity of it) ) else (“Unspecified”)), (if (exists source release date of it ) then ((year of it as string & “-” & month of it as two digits as string & “-” & day_of_month of it as two digits as string) of source release date of it as string) else “1000-01-01”), (if (exists category of it) then (if (category of it as lowercase contains “”) then (category of it as string) else (“Unspecified”) ) else (“Unknown”)), (if (exists download size of it) then ((download size of it) as string) else (“0”)),display name of site of it, applicable computer count of it as string) of (bes fixlets whose (fixlet flag of it = true and display name of site of it = “Patches for Windows (English)” and name of it as lowercase does not contain “corrupt patch” and name of it as lowercase does not contain “superseded” and source release date of it >= date “08 Dec 2009” and source release date of it <= date “11 Jan 2010”))
I also tried using the same relevance with number of … prepended. Again, no data.
Any chance we could have a “By Date” and / or “By Time Period” option added to the report. This way we could run the report for different time periods (we could run them at any point in time) and see some rudimentary trending reports?
Also, we would LOVE a way to schedule and email this report.
One for the release dates for the Fixlets, and the other the remediation date.
I assume you would be interested in the remediation date.
For a certain time period, show me what computers are fixed.
This report is not suitable for scheduling, rather ad-hoc querying. To schedule a report, I would have had to figure out a way to pre-define the filters.