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.
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.
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
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.
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
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.