Hey everyone. I have a task that I need to run two actions.
Action 1 is a PowerShell to stop services, uninstall a software, delete any reg of folders left behind.
Action 2 is installing a newer version of the software which I uploaded using the webui > software packages > add package. So for that I have the actual bigfix action script.
When I take action it shows an option to either deploy on or the other action.
Is this possible or not understanding how multiple actions work?
To understand what youâre sayingâŚcreate two separate fixlets, create a baseline ie: , add both fixlets to baseline and apply baseline to endpoints.
I am new to this, sorry for being redundant.
And in general you canât have two actions in a fixlet\task? Any time you need two actions you must create a baseline.
I see where breaking them out into separate would be beneficial.
How about relevance? Do I make the relevance of the baseline âTrueâ and then each fixlet\task has their own relevance or do I apply the relevance at the baseline and the 2 actions running to âTrueâ?
I am targeting Win10 and Win11 and that it doesnât have a particular version of the software, if True then applicable to the baseline
Hereâs what I am using at the baseline and the uninstall action1:
(version of client >= â6.0.0.0â) AND ((exists true whose (if true then (exists (operating system) whose (it as string as lowercase contains âwin1â as lowercase)) else false)) AND (exists true whose (if true then (exists file âC:\Program Files (x86)\Printer Properties Pro\Printer Installer Client\bin\PrinterInstallerClientLauncher.exeâ whose (version of it as string != â25.0.0.973â)) else false)) AND (exists true whose (if true then (exists (computer name) whose (it as string as lowercase contains âIT-â as lowercase)) else false)))
Action2 which is the install part is whatever relevance was built by bfix once I created the software package via webui:
(((((if(name of operating system starts with âWinâ) then free space of drive of client > 83396608 else if ((mac of it) of operating system) then free space of filesystem of folder (pathname of client) > 83396608 else free space of filesystem of client > 83396608)) AND (version of client >= â8.2â)) AND (windows of operating system AND (if( name of operating system starts with âWinâ ) then platform id of operating system != 3 else true))) AND (exists file âmsiexec.exeâ of system folder)) AND (/* Relevance generated from file âPrinterInstallerClient.msiâ */ (disjunction of (NOT exists keys â{A9DE0858-9DDD-4E1B-B041-C2AA90DCBF74}â whose ( value âDisplayVersionâ of it as string as version >= â25.0.0.973â as version AND value âLanguageâ of it as string = â1033â) of keys âHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallâ of ( x32 registry; (if exists x64 registry then x64 registry else nothing) ))))
There are different schools of thought and strategies on how to use baseline relevance vs task/fixlet relevance. In a simple use case, âtrueâ is a valid option, but will not drop out of relevancy when your action is taken.
What I like to do is make the task or fixlet relevance focused on the specific item being accomplished, then use the baseline relevance as more of a process flow or metadata check. Simple example for a patch baseline: fixlets are relevant when the patch has yet to be applied. Patch baseline relevance might check department, business unit, machine type, patch flag status, etc.
@JonL so I can target the baseline for example machines that start with a department name like accounting (ie: acct- )
then for the fixlets\tasks within it I set those relevance as I would want to apply if I was applying them individually but the difference being that they will be part of a baseline.
Not sure if itâs my relevance or maybe the way I set up the overall baseline but I know thereâs a machine that does not have the software and it doesnât come up relevant in the baseline. If I go to the fixlet that performs the installation the machine does shows up as relevant. Whereâs my disconnect?
The baseline has the uninstall fixlet first as Action1 and the deploy task as Action2.
Sure, you can, but itâs best to maintain the basic relevance for broader coverage, such as Windows of operating system. Still, you can make it more restrictive if thatâs what youâd like.
Baseline handles fixlets and tasks independently. When you add a fixlet, it automatically check the fixletâs relevance based on applicability option; however, this isnât the case when you add tasks; instead, you must manually choose the relevance based on applicability of the source task when adding tasks.
The above-mentioned option is by default enabled in fixlet cases, but not in task cases. Try turning it on for tasks and observe the changes in baseline applicability behavior.
THIS is exactly what I needed! I checked the box on the Task within the baseline components and now the correct machines were showing as relevance. When I took action it didnât show me two options and the baseline itself âknewâ exactly to either take the uninstall fixlet or the installation task based on weather the endpoint had or did not have the software installed.