How to write relevance to check if computer has the correct programs installed

Hello,

I am new to the relevance language but I have a baseline that gets deployed to new laptops that are put on our network. I want to know if there is a way that I can write relevance to check if a computer already on the network has the correct programs installed and if it does not, I want to automatically install the programs that are not on the computer. So I want it to exclude the programs that are already installed and just install the ones that aren’t on the computer. I need to do this for both mac and windows. I am not sure where to start. Thank you for any help.

Correct program mean do you have white-list program list,

Hi you need to create the action as per the relevance of the software which you need to install. After the action is created you can target the endpoints dynamically and removing the ends on date. By this whenever a new system is added into your network it will go and evaluate whether the system has the desired software or no if no then it will install.

I am assuming you’re saying I should start by writing an action script first and then set relevance. Is that correct ?

Hi @agirona95 you can do it in either way, writing a relavance and then the action script or by writing action script and then relavance .

But the important thing in this part is writing action script. Once the action script is ready relavance is not a big part!

@agirona95 can you tell me for what particular software you need the relavance and action script.

Hello, it’s actually for an entire baseline. I am trying to write the relevance to check if the software is already installed on the pc but if not it will install it

hi @agirona95 for the best practice you should keep relevance for each component rather than keeping for the entire baseline.

Hello, can you give me an example. Lets say I wanted to just install google chrome and ignore the other software in the baseline, how should I approach that?

If you just want to install chrome and ignore everything else you could just push the chrome install task by itself instead of using the baseline.

Your task for the install of google chrome should have the relevance to detect that it’s not installed.

(not exists key whose (value "DisplayName" of it as string = "Google Chrome") of keys "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of (x64 registries;x32 registries))

If you want to use it in a baseline make sure that the check box for "Baseline will be relevant on applicable computers where this component is relevant is selected.
2018-10-11 09_45_11-Window

make sure the same is done for the other components in the baseline. When you deploy the baseline only the components that are applicable on a machine will run. If they are not applicable they will show as not relevant in the action info.

As mentioned earlier the baseline relevance should be fairly generic. your tasks should have the relevance in them to make machines applicable or not for each component in the baseline

1 Like

Just to confirm, @agirona95 is using the term “baseline” in its more generalized meaning, which in this case refers to a set of applications that must be installed on a given machine after it has been received from the vendor.

In BigFix, the term has a much broader meaning:

Baselines are collections of Fixlet messages and Tasks. They provide a powerful way to deploy a group of Actions across an entire network with a single command.

Baselines provide a way to maintain a common operating environment, making sure that all users in any given domain have the same software, patches, and drivers. Baselines are easy to set up, by selecting the Fixlet messages, Tasks, and other Baselines that you want to be a part of the group. To limit the scope of a Baseline, a Relevance expression can be used to target any subset of your network, using IP addresses, computer names, operating systems, and many other qualifiers.

For example, you might make a Baseline named “All critical hotfixes,” and populate it with all the current critical hotfixes available in the Fixlet list. Or you might create one named “Finance department baseline,” to keep that particular group of computers updated with the latest financial programs, financial tables, updates, and patches.

So a BigFix baseline can be used in this scenario, but you will have to manually create a Fixlet for every software product you need to install, which will include Relevance language to check if the software is missing from the machine. Then each Fixlet would be made a part of the BigFix Baseline - each machine’s client will evaluate the Baseline’s component relevance to determine which action of the Baseline to run.

I think you should also consider using Software Distribution module of BigFix Lifecycle: see here for details on using Software Distribution.

1 Like