How To: Enable the “Suppress Program Notifications” Checkbox for all Programs in a Package
February 9, 2012 Leave a comment
In a previous post, I wrote how to enable the “Suppress Program Notifications” Checkbox for Program Properties for all programs in your environment. By request, in this post we’re going to modify the script slightly to modify all programs for one package, given the PackageID.
#Select all programs for one package #(Update MySiteServer and LAB with your ConfigMgr Server name and Site code, and PackageID with a valid packageID) $prgs = get-wmiobject sms_program -computername MySiteServer -namespace root\sms\site_LAB -filter "PackageID='LAB0023C'" $prgs | foreach { #ProgramFlags are a lazy property, so make explicit call. $prg = [wmi] $_.__Path if ($prg.ProgramFlags -band ([math]::pow(2,10))) { # Suppress already enabled } else { # Not suppressed - display programname and packageID $prg.Programname + "`t" + $prg.PackageiD # flip the programflags bit to enable suppression $prg.ProgramFlags = $prg.ProgramFlags -bor ([math]::pow(2,10)) # use Put to save changes $prg.put() } #rinse and repeat }
The only change we had to make was to add the filter command to the get-wmiobject cmdlet. -filter “PackageID=’LAB0023C'”
Read more about SMS_Program and ProgramFlags.
Greg