Thursday, June 9, 2011

Signature verification failed for PolicyAssignmentID

I will say the sometimes in Native mode I have seen this problem and it was due to a problem with the certificate on the MP but this article assumes you have tested your site system and found no such problem


1. Run Advergtised Programs is blank or partially populated

2. PolicyAgent log : Signature verification failed for PolicyAssignmentID


Locate all the Programs from Packages that have bad OS Requirements. This means if you have a program set to run "All x86 XP workstations as well as x86 XP SP1, x86 SP2. Because you cannot have both All systems as well as the individual versions of the OS. The policy cannot be compiled due to this conflict.

When you check the client it appears to be working fine. It can update hardware but otherwise it looks fine.

Signature verification failed for PolicyAssignmentID {6dc2328f-1dd7-4cc3-95a9-3ca5aa34ec8a}.

The problem is that how do find the offending Program? Well there are many ways but I will just give you the one I used and I am sure I will find a faster way and repost. First connect to machine via Wbemtest (ROOT\ccm\Policy\Machine\requestedConfig). Enum Classes and select Recursive to list everything.

Next find the CCM_Policy_Assignment2 and click on it

Click on the Instances and you should see something similar to this below. Now find the line with your policy. You could create a query to find it but this is a manual approach.

When you find your line click and select "Show MOF" You sould see something like this

instance of CCM_Policy_Assignment2
AssignmentCondition = "{BA0997BC-AA74-498E-8D8E-B0A691F46F6F}";
AssignmentCookie = "2011-06-07 16:53:17.550";
AssignmentID = "{ef6d2778-3b08-4fdf-a989-cc48458c1bd6}";
AssignmentPolicy = "CCM_Policy_Policy4.PolicyID=\"C0220033-C020009D-7D1B5B9B\",PolicyVersion=\"4.00\",PolicySource=\"SMS:P03\"";
AssignmentSource = "SMS:P03";
AssignmentVersion = "4.00";

SELECT TOP 1000 [PolicyID]
FROM [dbo].[SoftwarePolicy]
where PolicyID like '%C0220033%'

Advertisment - PackageID -xxxxxxx

This query will help you find the offending program and now you can find the offending program