I have a filter that contains as an include "Windows computers with application metering plugin" and a list of PCs in the exclude. In the App Metering policy it has one target and that target is assigned to this one filter only.
I will add a computer to the exclusion list in the filter and update the filter. I then verify that the computer has been added and that it no longer shows in the membership of the filter. Next open up the policy and change the view from Targets to Computers. The computer that is no longer showing up in the filter is STILL showing up in this Target list. I can either wait for the Scheduled Delta Update to run or edit the target and do a Update results and then the computer will no longer show up in the Target list.
I have found one potential workaround. I found a Stored Procedure called spResourceTargetDeltaUpdate. I saved the Target and gave it a name, looked up the GUID of the newly saved target in the Item table, and pass that GUID into this stored procedure. When I run this stored proc it will update the target list inside the policy.
As a temporary and painful workaround I created a Job and assigned it 4 tasks. First task does a Filter membership update on the filter we are using. The 2nd task runs a SQL script on the server to execute the Stored Procedure. The 3rd task runs a vbscript on the server to pause for 30 seconds. Finally the 4th task runs a configuration update on the client PC so that it can get the new policy.
This is the SQL query we are running to update the target:
exec spResourceTargetDeltaUpdate @resourceTargetGuid='C831299F-9748-475B-A1E0-E5455D9163AE', @flush=1