Some users set the BES Client service to disabled/manual to prevent the workstations rebooting after patches have been deployed. I’d like to lock down the BES Client service so they can’t change the Startup type or Stop the service.
The user would be local administrator on the box so can this be done?
Tyler is correct and an administrator has full-authority on the computer by design. Any trick you put in place can be undone by a determined administrator.
Some tools put in place “uninstall passwords” or hook the OS to prevent shutdown of services, but not only are these defeatable, but they are potentially destabilizing. They can also cause extra administrative overhead which can be annoying and costly.
Note that you will always see the “Last Report Time” of computers and if you are using BES Asset Discovery, you can find computers with the agent turned off.
Also, we have built a solution in the past where we have a “watcher” application that will start the BES Client if it is stopped. I can send you info on this if you would like.
If your computers are in a Active Directory Domain you could force BES Client Service setting to automatic via GPO. The local administrator could still stop and disable it but it would be set back to automatic upon the next GPO refresh. I’m not sure if the service would restart with the restart failure setting though.
I am attaching a Fixlet that will download and run the client watcher program. If the client watcher is running, it will take care of restarting the BES Client service if it is stopped and it also will change the status from “Manual” or “Disabled” back to “Automatic”. More information is in the Fixlet text.
Some of my tests showed that the logging wasn’t being written out properly and I will investigate further, but it appears to work other than that.
You must be logged in as your user account to see the attached Fixlet.
Note that this has not been extensively tested and is provided “as-is” with no guarantees.
I just tried it again and it worked… You might look at the .bes (xml) file to see if it looks formatted properly… it is possible some network filtering device changed it when you downloaded it?
To set it to an hour you would run it like this:
besclientwatcher-1.2.exe -w 3600
Would someone be willing to change the Fixlet to make use of this?
version of besclientwatcher-1.1.exe is “1.1.0.0”
but version of besclientwatcher-1.2.exe is “0.0.0.0” ?
so maybe need to change the version part of besclientwatcher-1.2.exe because when exists besclientwatcher-1.1.exe ,we could replace it with a newer one such as 1.2
To set it to an hour you would run it like this:
besclientwatcher-1.2.exe -w 3600
Would someone be willing to change the Fixlet to make use of this?
Try this,
action part:
//enter the time action parameter query
"time" with description
"Please enter your desired time (seconds)" and with
default value
"60"
// check to see if the watcher was downloaded already... if so, run it sliently..
if
{exists file
"besclientwatcher.exe" of parent folder of regapp
"besclient.exe"
} runhidden
"{pathname of parent folder of regapp "besclient.exe
"}\besclientwatcher.exe" -w
"{parameter "time
" of action}"
// if not already downloaded, download and run silently...
else prefetch besclientwatcher.exe sha1:5c0b057c37e3f23e987ee2472187e0a9324aaea7 size:1282114 http:
//support.bigfix.com/download/bes/util/besclientwatcher-1.2.exe copy __download\besclientwatcher.exe
"{pathname of parent folder of regapp "besclient.exe
"}\besclientwatcher.exe" runhidden
"{pathname of parent folder of regapp "besclient.exe
"}\besclientwatcher.exe" -w
"{parameter "time
" of action}" endif
I have done the fixlet below script but when I do take action getting failed, request to check the script once. Thanks in advance.
//enter the time action parameter query “time” with description “Please enter your desired time (seconds)” and with default value “60”
// check to see if the watcher was downloaded already… if so, run it sliently…
if {exists file “besclientwatcher.exe” of parent folder of regapp “besclient.exe”}
runhidden “{pathname of parent folder of regapp “besclient.exe”}\besclientwatcher.exe” -w “{parameter “time” of action}” // if not already downloaded, download and run silently…
You can prevent admins from stopping or changing the properties of the service by setting permissions on the service itself at the domain level. Create a domain group and add to it any members that should not have access to start/stop/pause BES Client service. Then set the permissions for this service so this group has an explicit deny. This will override any allow that their admin permissions might have. Deny always wins. We use this with great success–many of our users are admins and they just love to disable AV…