Automatically creating patches using BigFix Fixlets

So there is a topic that comes up every couple of months regarding automatically importing content into BigFix.

Over the couple years I’ve worked on a couple automation projects to automatically generate and import patches for common applications into BigFix.

I’ve implemented solutions that are completely custom using C#, solutions using Python, solutions using AutoPKG and solutions using Ninite.

Well recently I got the strange idea to just do it with a fixlet. Today I got it working and wanted to share what I’ve got so far! There are some issues with it that I’ll discuss at the end (more to-dos that issues).

The first version of this content is available here: https://bigfix.me/fixlet/details/6189

Notes:
The operator you provide only needs write access to a single content site (not master operator) so the pwd being not encrypted isnt a deal breaker at the moment.

To use this just action the fixlet against a computer that matches the below requirements in your environment and provide a site you want it imported into with corresponding credentials.

Requirements:

  1. Running 9.2.0.363
  2. Running Platform API that matches server version
  3. Internet access on system

Here’s what the fixlet does:

  1. Parses the NotePadPP Download page for the latest download URL
  2. Downloads NotePadPP to obtain size, hash, etc
  3. Generates a fixlet from a template
  4. Imports the fixlet using BESImportFile on the command line (using console operator permissions from the action)

Todo:

  1. Either stage the console operator credentials on the system beforehand or switch them to secure parameters
  2. I have a custom version of BESImportFile that won’t import a fixlet that already exists (or will just overwrite it) that I’d like to use but I didn’t want to host a file on a third-party domain for this fixlet.
  3. Make the fixlet more flexible to be reused for other software.
  4. Maybe split upload into another fixlet so that these can be packed into a baseline
  5. Fail on error detection

Let me know if you have any thoughts on this and thanks for reading!

Content

  1. https://bigfix.me/fixlet/details/6189
4 Likes

I have been doing similar things to this for quite a while now. It was part of my Interconnect 2015 presentation.

I’m using Tasks to create Tasks, and I am using a secure parameter for the console operator password.

I’m also assuming that the operator taking the action is the operator that will be authenticating to the REST API to create the resulting content. I’m also assuming that the site that the action is taken from is also the site the content should be created in.

For these reasons, I only prompt for the password, all other info is assumed.

See here:


I highly recommend using tools like AutoPkg to automate the creation of custom content, especially when tied to tools like Jenkins, but this has more dependencies and difficulty to set up. The cool part about using a Task to create other Tasks or baselines is that there are no external dependencies.

You can now use AutoPkg running on OS X to automate the creation of Windows Software Updates / Patches. See @hansen_m 's and my presentation from MacAdmins 2015:

2 Likes

Some links for AutoPkg…

1 Like