I ran into an issue when upgrading my SCOM 2012 R2 environment to UR2, where a number of agents didn't receive the agent patch even though they were Approved via Pending Management.

There are a number of ways to fix this such as using ConfigMgr to update the agents, Manually updating each agent, or you can initiate an agent repair via PowerShell using this line of code on one of your Management Servers:

Get-SCOMAgent | ? { $_.PatchList -ne "System Center 2012 Operations Manager UR2 Update Patch;" -and $_.HealthState -eq "Success" } | Repair-SCOMAgent

It may take a little bit of time to complete depending on the number of Agents you have. As always, make sure you test this in a lab prior to implementing it in a production environment.

 

Check out Kevin's blog where he covers this in a bit more detail: http://blogs.technet.com/b/kevinholman/archive/2014/06/03/ur2-for-scom-2012-r2-step-by-step.aspx