We have some computers (where they probably changed their time ahead for a while), where a settings effective date is very far in the future. So changing that setting, using {now} has no impact, not relevant. I have a solution with regdelete and regdelete64, but that doesn’t work for *nix. Is there a way to do this with “setting delete”, but have that command ignore the date?
It is against our best practice to set effective dates far into the future. The purpose of the effective date is to avoid older settings actions (set or delete) from overwriting newer settings so unfortunately you won’t be able to use the native commands to set the effective date back in time. To back out of your situation I think you will have to parse the BESClient.config file on *nix/Mac or use regdelete on Windows.
Unfortunately this is something on the endpoint that is messed up, possibly people playing with date/times for whatever reason. Maybe a thought for a feature request where you can reset or remove from Effective Dates on certain settings, kind of like a subset of resetting the clients.
As you noted, tou can regdelete the “effective date” value in the setting registry keys at “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\EnterpriseClient\Settings\Client” to fix any effective date that is too far in the future (with our caution note to please be careful).
The “setting delete” command won’t work for you because it also takes into account effective date.
To handle this same issue on Unix computers, we will need to figure out how to rewrite the agent config file to remove the effective dates.
Actually, I wrote a task to do this on unix/linux systems.
It’s a little hacky, and you can bork up your configuration file if you give it the wrong search phrase. It completely removes the setting in question. Works on any machine with bourne shell, most extensively tested under bash. sed must exist on the system, files in /tmp must be allowed to execute, and client config file must be in /var/opt/BESClient/besclient.config: