I have a need to create a smart group that is based on whether or not the client(s) have run a policy. For instance, we use Adobe's RUM command regularly, monthly. I would like to do, is find all of the computers that HAVE NOT run the RUM command.
I thought if I could search for all of the computers where the policy that triggers this command to run is still in pending state, that would be ideal. If they are still pending or the command wasn't run in the past month, then I would do a mandatory deployment on a specific day.
Thoughts? Any one else doing something like this? I am open to suggestions for a better way to this.
There's no native way to build a Smart Group on pending/complete/failed status, etc of a policy. Your best bet will be to build a Smart Group of machines that still don't meet the criteria that the policy is trying to affect or change. For example, if your policy is updating a software title, Application X to version Y, then build a Smart Group initially for your policy, then build a second Smart Group for machines that are part of that group membership and maybe still have Application X, not Version Y or something like that.
I'm probably oversimplifying it, so it may be more complex in your situation than that since you are talking about a command to run, but that will be the guideline to follow. Maybe there is some flag on the Mac you can capture in an EA to indicate when the RUM command was last run? I don't use RUM so I know next to nothing about it to help with that.
All I know is, you really can't grab policy status from a machine, not even using the API sadly. :(