I have recently updated my company’s Bigfix Server to 9.5.2 and was going through cleaning up issues in the health checks. Several workstations have an older Console installed and I wanted to remove/upgrade them as needed. I have created the following relevance
(exists true whose (if true then (exists key whose (value "DisplayName" of it as string contains "IBM BigFix Console" and value "DisplayVersion" of it as string < "9.5.2.56") of key "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" of native registry) else false))
My issue is that is it not grabbing all the machines from the health check with an outdated console version. Was the console known by a different Display Name in vesions prior to 9.2.7? I tried Tivoli Endpoint Manager and Tivoli Conole with no luck. Thanks.
Thanks for the reply. I have used that Fixlet but out of the box it only finds endpoints that do not have a console on them installed. I think i may have found the solution for my relevance
Yes, as @strawgate recommends the Fixlet does show which systems have an older console installed. Referencing Fixlet 2449 from the BES Support site, “IBM BigFix - Updated Platform Server Components 9.5.2 Now Available!”. The Relevance statements for this Fixlet show all systems with an older Server Component, Web Reports, Relay, or Console. You can use this as a reference for building your own relevance to remove older consoles.
Specifically Relevance 5: (exists running service "BESRootServer" whose (version of it < "9.5.2.56" AND version of it >= "9.5") AND (if (windows of operating system) then (not exists running application "BESAdmin.exe") else (true))) OR (((if (windows of operating system) then ((version of registration server = "9.5.2.56") AND exists regapp "BESConsole.exe" whose (version of it < "9.5.2.56" AND version of it >= "9.2.3")) else false) OR (exists running service "BESWebReportsServer" whose (version of it < "9.5.2.56" AND version of it >= "9.5"))) AND (version of registration server = "9.5.2.56"))
This detects BESRootServer, BESAdmin, BESconsole, and BESWebReportsServer. To look for older versions of the console, you can take this piece for your Relevance: exists regapp "BESConsole.exe" whose (version of it < "9.5.2.56" AND version of it >= "9.2.3")
That was tailored to direct upgrades from 9.2.3 and higher only; I expect you could change it to exists regapp "BESConsole.exe" whose (version of it < "9.5.2.56")
Hi all,
I recently updated my company’s server to 9.2.8 and I discovered that there was too many consoles pushed out for 9.2.8. I noticed there is not a fixlet for this. I am trying to remove them as needed. Here is what I have for the action script and relevance.
action script
parameter “app”="{name of key whose (value “DisplayName” of it as string contains IBM Bigfix console") of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry}"
waithidden msiexec.exe /x {parameter “app” as string} /quiet
relevance
exists regapp “BESConsole.exe” whose (version of it < “9.2.5.130” AND version of it >= “9.2.8.74”)
applicable computers are not showing up. I did see Julugo’s recommendation for using the command but this will not target all computers affected.
I utilized the info above to create my own fixlet as I usually upgrade as soon as IBM puts out a new release. This often leaves obsolete consoles behind on user’s machines that sign in infrequently. Here the fixlet I use below, I’m on version 9.5 but it should work once you make the edits for your environment. The first block is the relevance and the second block is the action script.
(version of client >= “6.0.0.0”) AND (exists true whose (if true then (exists key whose (value “DisplayName” of it as string contains “IBM BigFix Console” and value “DisplayVersion” of it as string < “9.5.4.38”) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall” of native registry) else false))
// Enter your action script here
parameter “app”=“{name of key whose (value “DisplayName” of it as string contains “IBM BigFix Console”) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall” of registry}”
waithidden msiexec.exe /x {parameter “app” as string} /quiet
Just to follow-up, the reason this is showing Not Relevant for all systems is that there will not be a BESConsole.exe version that is both lower than 9.2.5.130 while also being higher than 9.2.8.74.
I am happy to have found this topic and your contributions! We’re running LMT on top of BigFix in a Windows environment. I recently erroneously installed the BigFix Console on 63 machines and I understand the BES Remove utility tool will completely remove the BigFix Console and its components. To get a jumpstart on creating a custom fixlet for the job, I copied, renamed, and customized the fixlet "TROUBLESHOOTING Uninstall BES Client.bes"_ for our environment to fetch the BESRemove.exe tool and to use it to remove the BESConsole.exe and its configuration files and registry keys from the endpoints. The relevance expression targets the correct endpoints, but because I’m not a programmer, I’d like a second set of eyes (or more) look at my action script to ensure the edits I’ve made will achieve what I intend. Thank you so much in advance!
Relevance Script
(version of client >= “6.0.0.0”) AND ((exists true whose (if true then ((version of client >= “6.0.0.0”) AND (exists true whose (if true then (exists key whose (value “DisplayName” of it as string contains “BigFix Console” and value “DisplayVersion” of it as string < “9.6”) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall” of native registry) else false))) else false)) AND (exists true whose (if true then (not exists (computer name) whose (it as string as lowercase = “[BES Root Server]” as lowercase)) else false)))
Action Script
// ##### WINDOWS #####
// Enter your action script here
if {name of operating system starts with “Win”}
prefetch BESRemove.exe sha1:d16de7c9cddb9855db10eed8dcdec55063ff83af size:4712320 http://software.bigfix.com/download/bes/100/util/BESRemove-10.0.6.84.exe sha256:baa5c60b6f392056166f4d0d123ded5a3fc4fa4c41a8425111279048aee5e18a
// create a batch file to create the temp folder
delete __appendfile
delete tempdir.bat
parameter "tempDirPath" = "{ if(name of drive of regapp "BESConsole.exe" = "C:") then (if (exists variable "temp" of environment) then (value of variable "temp" of environment as string) else (pathname of folder "temp" of windows folder as string)) else (name of drive of regapp "BESConsole.exe" as string & "\tempBESRemove") }"
appendfile @echo off
appendfile { if (name of drive of regapp "BESConsole.exe" = "C:") then (if (exists variable "temp" of environment) then ("") else if (exists folder "temp" of windows folder) then ("") else ("mkdir " & pathname of windows folder as string & "\temp")) else (if (exists (folder ((name of drive of regapp "BESConsole.exe") as string & "\tempBESRemove"))) then ("") else ("mkdir " & name of drive of regapp "BESConsole.exe" as string & "\tempBESRemove")) }
move __appendfile tempdir.bat
waithidden tempdir.bat
delete tempdir.bat
delete "{parameter "tempDirPath" & "\BESRemove.exe"}"
delete "{parameter "tempDirPath" & "\delConsole.iss"}"
move __Download\BESRemove.exe "{parameter "tempDirPath" & "\BESRemove.exe"}"
copy "{pathname of client folder of site "BESSupport" & "\delConsole.iss"}" "{parameter "tempDirPath" & "\delConsole.iss"}"
// create a batch file to run BESRemove from a different directory and then uninstall console
appendfile @echo off
appendfile cd /D "{parameter "tempDirPath"}"
appendfile start BESRemove.exe /silent /force /console
if {exists ( folder (name of drive of regapp "BESConsole.exe" as string & "\tempBESRemove" ))}
appendfile cd ..
appendfile start rmdir /Q /S "{parameter "tempDirPath"}" > NUL 2> NUL
endif
// move batch file to temp directory
delete "{parameter "tempDirPath" & "\RunBESRemove.bat"}"
copy "__appendfile" "{parameter "tempDirPath" & "\RunBESRemove.bat"}"
// run batchfile
runhidden "{parameter "tempDirPath" & "\RunBESRemove.bat"}"